我将Common.Logging与NLog适配器结合使用。
http://netcommon.sourceforge.net/docs/1.2.0/reference/html/logging.html
我称之为这种方法:
void Error( object message, Exception exception );"message“的文本显示在日志中(txt-文件和EventLog中),但是关于异常的详细信息没有显示出来。甚至连ex.Message也没有。
我是不是遗漏了什么?
我怎样才能得到异常的详细信息。我必须把它固定在“对象消息”上吗?我想除了重载的方法之外,我还以为会有一些自动日志记录。
我的NLog.config相当简单。
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="logfile" xsi:type="File" fileName="MyFile.log.txt"/>
<target name="console" xsi:type="Console" />
<target xsi:type="EventLog"
name="eventLog"
source="MySource"
eventId="555"
log="Application"
/>
</targets>
<rules>
<logger name="*" minLevel="Error" writeTo="eventLog" />
<logger name="*" minLevel="Info" writeTo="console" />
<logger name="*" minLevel="Info" writeTo="logfile"/>
</rules>
</nlog>编辑:
Ok...based在Sergey的回答中,我刚刚整理了一下我的设置:
layout="${longdate}|${level}|${callsite}|${logger}|${threadid}|${windows-identity:domain=false}__${message} ${exception:format=message,stacktrace:separator=*"发布于 2014-05-30 20:46:48
根据文档,默认布局是
${longdate}|${level:uppercase=true}|${logger}|${message}您应该指定${exception}布局呈现程序来编写异常信息。例如,为应该写入异常的目标设置以下布局:
${longdate}|${level:uppercase=true}|${logger}|${message}${newline}${exception}如果希望所有目标都具有相同的布局,则可以将其定义移动到变量:
<variable name="verbose"
value="${longdate}|${level:uppercase=true}|${logger}|${message}${newline}${exception}" />
<targets>
<target name="logfile" xsi:type="File" layout="${verbose}" fileName="log.txt" />
<target name="console" xsi:type="Console" layout="${verbose}"/>
<target name="eventLog" xsi:type="EventLog" layout="${verbose}"
source="MySource" eventId="555" log="Application" />
</targets>
<rules>
<logger name="*" minLevel="Error" writeTo="eventLog" />
<logger name="*" minLevel="Info" writeTo="console,logfile" />
</rules>https://stackoverflow.com/questions/23963168
复制相似问题