7

我试图找到一种在配置文件中设置 isdebugenabled false 或 true 的方法,

所以我可以在需要时打开或关闭它。谢谢 !

4

1 回答 1

8

使用非常简单的日志记录设置

<targets>
  <target xsi:type="File"
          name="debug"
          fileName="c:\temp\debug.txt"
          layout="${longdate} ${uppercase:${level}} ${message}" 
  />
</targets>

<rules>
  <logger name="*" minlevel="Trace" writeTo="debug" />
</rules>

还有一个同样简单的代码示例

class Program
{
    static void Main(string[] args)
    {
        var logger = new NLog.LogFactory().GetCurrentClassLogger();

        if (logger.IsDebugEnabled)
        {
            logger.Debug("this is a debug message");
        }

        logger.Debug("this is another debug message");
    }
}

minLevel设置为 Debug 或 Trace 时,两个logger.Debug语句都将写入日志。如果您提升minLevel到更高级别(信息、警告、关闭),则任何语句都不会写入日志。 logger.Debug检查IsDebugEnabled(从日志级别推断)。

您当然可以通过检查来提高性能(在您要记录计算值而不仅仅是字符串的情况下)IsDebugEnabled,并且更改minLevel记录器是切换它的方法。

于 2012-08-08T15:26:35.357 回答