NLog 记录到配置中提到的特定目标
NLog log to a specific target mentioned in the config
我有一个具有以下 NLog 配置的控制台应用程序
<targets async="true">
<target name="Afile" xsi:type="File" fileName="c:\users\a\Logs\ALog.txt" />
<target name="Bfile" xsi:type="File" fileName="c:\users\a\Logs\BLog.txt" />
<target name="Cfile" xsi:type="File" fileName="c:\users\a\Logs\CLog.txt" />
<target name="Dfile" xsi:type="File" fileName="c:\users\a\Logs\DLog.txt" />
<target name="Efile" xsi:type="File" fileName="c:\users\a\Logs\ELog.txt" />
<target name="Ffile" xsi:type="File" fileName="c:\users\a\Logs\FLog.txt" />
<target name="Gfile" xsi:type="File" fileName="c:\users\a\Logs\GLog.txt" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="Afile" />
<logger name="*" minlevel="Debug" writeTo="Bfile" />
<logger name="*" minlevel="Debug" writeTo="Cfile" />
<logger name="*" minlevel="Debug" writeTo="Dfile" />
<logger name="*" minlevel="Debug" writeTo="Efile" />
<logger name="*" minlevel="Debug" writeTo="Ffile" />
<logger name="*" minlevel="Debug" writeTo="Gfile" />
</rules>
控制台应用程序从 A 到 F 的任意一个参数,根据执行期间定义的参数,我想将日志写入特定的日志文件
所以,如果我的应用程序是使用参数 A 执行的,我希望我的应用程序写入目标 Afile 并相应地写入其他参数
你可以这样做:
<targets async="true">
<target name="onefile" xsi:type="File" fileName="c:\users\a\Logs${gdc:item=CmdArg}Log.txt" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="onefile" />
</rules>
然后在进行任何日志记录之前配置以下变量:
NLog.GlobalDiagnosticsContext.Set("CmdArg","someValue");
我有一个具有以下 NLog 配置的控制台应用程序
<targets async="true">
<target name="Afile" xsi:type="File" fileName="c:\users\a\Logs\ALog.txt" />
<target name="Bfile" xsi:type="File" fileName="c:\users\a\Logs\BLog.txt" />
<target name="Cfile" xsi:type="File" fileName="c:\users\a\Logs\CLog.txt" />
<target name="Dfile" xsi:type="File" fileName="c:\users\a\Logs\DLog.txt" />
<target name="Efile" xsi:type="File" fileName="c:\users\a\Logs\ELog.txt" />
<target name="Ffile" xsi:type="File" fileName="c:\users\a\Logs\FLog.txt" />
<target name="Gfile" xsi:type="File" fileName="c:\users\a\Logs\GLog.txt" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="Afile" />
<logger name="*" minlevel="Debug" writeTo="Bfile" />
<logger name="*" minlevel="Debug" writeTo="Cfile" />
<logger name="*" minlevel="Debug" writeTo="Dfile" />
<logger name="*" minlevel="Debug" writeTo="Efile" />
<logger name="*" minlevel="Debug" writeTo="Ffile" />
<logger name="*" minlevel="Debug" writeTo="Gfile" />
</rules>
控制台应用程序从 A 到 F 的任意一个参数,根据执行期间定义的参数,我想将日志写入特定的日志文件 所以,如果我的应用程序是使用参数 A 执行的,我希望我的应用程序写入目标 Afile 并相应地写入其他参数
你可以这样做:
<targets async="true">
<target name="onefile" xsi:type="File" fileName="c:\users\a\Logs${gdc:item=CmdArg}Log.txt" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="onefile" />
</rules>
然后在进行任何日志记录之前配置以下变量:
NLog.GlobalDiagnosticsContext.Set("CmdArg","someValue");