How to add external packages logs to current project log files/rules in Nlog

Viewed 28

I have some rules, that logging their projects

{
    "logger": "Alpha.*",
    "minLevel": "${configsetting:item=Alpha.LogLevel}",
    "ruleName": "Alpha",
    "writeTo": "fileTarget, consoleTarget"
  },
  {
    "logger": "Beta.*",
    "minLevel": "${configsetting:item=Beta.LogLevel}",
    "ruleName": "Beta",
    "writeTo": "fileTarget, consoleTarget"
  },

Now I add few packages to my solution (like AB.Common.Exception), and I want to add their logs for the log of project.

For example, if package was used by Alpha, log from AB might be added to "ruleName": "Alpha", but not to "Beta".

Is there any way to do this?

Regards.

Updated

Ok, I found possible answer with rule in end

{
    "logger": "Alpha.*",
    "minLevel": "${configsetting:item=Alpha.LogLevel}",
    "ruleName": "Alpha",
    "writeTo": "fileTarget, consoleTarget"
  },
  {
    "logger": "Beta.*",
    "minLevel": "${configsetting:item=Beta.LogLevel}",
    "ruleName": "Beta",
    "writeTo": "fileTarget, consoleTarget"
  },
  {
    "logger": "*",
    "minLevel": "Trace",
    "ruleName": "AB",
    "writeTo": "fileTarget, consoleTarget"
  }

But I want to set logLevel from ${configsetting:item=Alpha.LogLevel} or ${configsetting:item=Beta.LogLevel}

1 Answers

Ok, my answer now looks like that

{
    "logger": "Alpha.*",
    "minLevel": "${configsetting:item=Alpha.LogLevel}",
    "ruleName": "Alpha",
    "writeTo": "fileTarget, consoleTarget"
  },
  {
    "logger": "Beta.*",
    "minLevel": "${configsetting:item=Beta.LogLevel}",
    "ruleName": "Beta",
    "writeTo": "fileTarget, consoleTarget"
  },
  {
    "logger": "*",
    "minLevel": "${configsetting:item=Alpha.LogLevel}",
    "ruleName": "ABtoAlpha",
    "writeTo": "fileTarget, consoleTarget"
  },
  {
    "logger": "*",
    "minLevel": "${configsetting:item=Beta.LogLevel}",
    "ruleName": "ABtoBeta",
    "writeTo": "fileTarget, consoleTarget"
  }

I think it's not so beautiful I hoped, but it works

Related