我在工作中编写了一些控制台应用程序。我想在它们中加入NLog,但是我遇到了困难。
当我检查“logger”对象时,在其“Factory”属性中,我看到配置有targets=0,loggingrules=0,所有内容都为空或未设置。
所以,它什么也不做,也不会丢弃内部日志文件……我已经尝试过nLog.config、NLog.config和nlog.config……都没有成功。我还尝试了NLog的3和4版本…
为什么它不能读取配置文件?
我已经:
这是NLog.config的内容:
<?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"
autoReload="true"
throwConfigExceptions="true"
throwExceptions="true"
internalLogLevel="Trace"
internalLogFile="c:\temp\NlogInternal.log"
internalLogToConsole="true"
internalLogToConsoleError="true"
internalLogToTrace="true">
<targets>
<target xsi:type="Console" name="debugConsole" layout="${message} "/>
<target xsi:type="File" name="debugFile" createDirs="true" fileName="c:\temp\testlog.log" layout="${longdate} ${uppercase:${level}} ${message}"/>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="debugConsole"/>
<logger name="*" minlevel="Trace" writeTo="debugFile"/>
</rules>
</nlog>
最后(这不会出错,但是由于配置为空,没有任何输出):
private static Logger logger = LogManager.GetCurrentClassLogger();
logger.Info("ConsoleApp test log...");