我希望将调用日志函数的堆栈跟踪写入日志文件。
我使用的是Log4Net 1.2.10.0和C# .NET 4.0 (不能更改其中任何一个)。
日志记录被称为使用
private static log4net.ILog log = log4net.LogManager.GetLogger(global::System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
log.Info("Show the stacktrace here");
log4net.config文件如下所示
<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="true">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="${ALLUSERSPROFILE}\Application1\Application1.log" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value=" yyyy-MM-dd" />
<maxSizeRollBackups value="10" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{ISO8601}|[%thread]|%-5level|%message|%stacktrace{5}%newline" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
日志文件如下所示
2017-07-04 11:18:12,206件
因此,我没有显示实际的堆栈跟踪,而是得到了'stacktrace{5}‘这个词。
我做错了什么?
发布于 2017-07-04 09:57:28
您需要传递异常实例,如下所示
catch(Exception ex)
{
// the form that takes two args has an exception as second, prints trace...
_log.Error("My custom message", ex);
}
https://stackoverflow.com/questions/44902379
复制相似问题