NLog:是否可以从代码中更改源名称?

时间:2012-05-05 00:19:58

标签: c# .net nlog

是否可以通过代码更改source名称?我的解决方案有几个模块,我想在查看日志时将它们分开。

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <targets>
    <target xsi:type="EventLog" name="eventlog" layout="${message}" log="Application" source="MyAwesomeSolution"/>
  </targets>
  <rules>
    <logger name="*" minlevel="Info" writeTo="eventLog" />
  </rules>
</nlog>

另外,如何将对象记录为xml?例如如果我这样做 - logger.Info("Results - {0}", person);我想在事件日志中将person对象视为XML。有可能吗?

1 个答案:

答案 0 :(得分:0)

使用

初始化Logger对象
private static Logger logger = LogManager.GetCurrentClassLogger();

然后你可以添加

${callsite}到配置文件中的布局

e.g。

<targets>
    <target xsi:type="EventLog" name="eventlog" layout="${callsite}:${message}" log="Application" source="MyAwesomeSolution"/>
</targets>

更多信息@ $ {callsite}为here