2013-02-21 58 views
0

您是否知道是否有一種以編程方式啓用某些日誌記錄級別的方法?NLog啓用從命令行進行日誌記錄

我希望在正常的應用程序使用期間只保留錯誤日誌記錄,但能夠在需要時通過將命令行參數傳遞給應用程序來打開更詳細的信息。

回答

1

鑑於這樣來配置

<targets> 
    <target xsi:type="File" name="payroll" fileName="c:\temp\payroll.log"    
     layout="${longdate} ${uppercase:${level}} ${message}" /> 
</targets> 
<rules> 
    <logger name="*" minlevel="Error" writeTo="payroll" /> 
</rules> 

一個基本的記錄儀可以編程方式添加到日誌級別

static void Main(string[] args) 
    { 
     if (args.Contains("Info")) 
     { 
      var logger = NLog.LogManager.Configuration.LoggingRules.First(x => x.Targets.First().Name == "payroll"); 
      logger.EnableLoggingForLevel(LogLevel.Info);  
     } 

     var proc = new PayrollProcessor(); 
     proc.Process(); 
    } 
相關問題