好的,我正在尝试将NLog实施到我的项目中,并设定了目标:
<target name="logfile" xsi:type="File" fileName="${basedir}/logs/${shortdate}/Report/log.txt" />
这可以工作并输出我的测试日志。但是,如果我将shortdate
更改为longdate
:
<target name="logfile" xsi:type="File" fileName="${basedir}/logs/${longdate}/Report/log.txt" />
或者使用${time}
属性,我没有记录。根据他们的documentation,longdate
和time
都应该有效。我错过了什么吗?它们实际上对fileName
无效吗?
答案 0 :(得分:3)
我怀疑$ {longdate}导致文件名无效(Windows不允许“:”,如/ logs / 01-10-2013 12:24:25.2567 / Report / log.txt)。
如果将以下内容添加到nlog.config
<nlog
internalLogFile="c:\temp\nlogproblems.txt"
throwExceptions="true"
xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
你会收到这种效果的警告
2013-01-10 14:55:21.0436错误异步处理程序中的异常NLog.NLogRuntimeException:NLog中发生异常---&gt; System.IO.FileNotFoundException:文件名,目录名或卷标语法不正确。 (HRESULT异常:0x8007007B)
编辑:添加文件时间示例。