C# 未创建Nlog日志文件
我正在尝试在控制台应用程序中记录异常。我一如既往地做了每件事(然后它对我起了作用……): NLog.config:C# 未创建Nlog日志文件,c#,nlog,C#,Nlog,我正在尝试在控制台应用程序中记录异常。我一如既往地做了每件事(然后它对我起了作用……): NLog.config: 由于某种神秘的原因,我的电脑上从来没有创建过任何文件。你知道为什么你的配置看起来有效吗,所以这不应该是问题所在 一些需要检查的事项: 您的nlog.config目录是否正确?最好的测试方法是使用.dll或.exe将nlog.config复制到目录中 启用异常以确保Nlog不会捕获错误:throweExceptions=“true” 通过设置internalLogLevel=“I
由于某种神秘的原因,我的电脑上从来没有创建过任何文件。你知道为什么你的配置看起来有效吗,所以这不应该是问题所在 一些需要检查的事项:
throweExceptions=“true”
internalLogLevel=“Info”
并选中“c:\temp\nlog internal.log”来检查内部日志有关疑难解答的完整教程可以在上找到。编辑
NLog
配置,像这样更改日志文件路径,使用${shortdate}
代替{date:format=yyyyymmdd}
。在规则中设置名称,并像在本示例中那样调用它
<?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">
<targets async="true">
<targets>
<target name="LogFile" xsi:type="File"
fileName="${basedir}/Log/${shortdate}myLog.txt"
layout="${longdate}|${level:uppercase=true}|${message}|${exception}" />
</targets>
<rules>
<logger name="ErrorLog" minlevel="Trace" writeTo="LogFile" />
</rules>
</nlog>
在Visual Studio中,检查NLog.config文件是否具有以下属性: 构建操作:内容。 复制到输出目录=如果较新,则复制 我附上一个屏幕截图,你可以看到它应该如何出现。对不起,是西班牙语的
因此,您建议从基于类的日志记录切换到命名日志记录-这不应该是这里的问题,因为。。。此外,您的命名不匹配:
ErrorFile
vsErrorLog
。这是唯一一个运行良好的示例,我建议更改文件名路径、部分日期格式和更改跟踪级别以记录所有内容。
<?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">
<targets async="true">
<targets>
<target name="LogFile" xsi:type="File"
fileName="${basedir}/Log/${shortdate}myLog.txt"
layout="${longdate}|${level:uppercase=true}|${message}|${exception}" />
</targets>
<rules>
<logger name="ErrorLog" minlevel="Trace" writeTo="LogFile" />
</rules>
</nlog>
class Program
{
private Logger ErrorLogger = NLog.LogManager.GetLogger("ErrorLog");
static void Main(string[] args)
{
ErrorLogger.Error("test");
}
}