0
我想要将堆栈跟踪的日志函数调用写入日志文件。
我使用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年7月4日11:18:12206 | [8] |信息 |这里显示的堆栈跟踪|堆栈跟踪{5}
因此,而不是显示实际堆栈跟踪我得到了这个词“堆栈跟踪{5 }'
我在做什么错?
好吧,我测试了这一点,它仍然无法正常工作!只是得到文本堆栈跟踪... – Andis59
你能让我知道你把这条线放在哪里吗? log.Info(“在这里显示堆栈跟踪”); – zzT
在Winform程序的一个功能。我也有一个更大的程序,它使用多个程序集和类,并在varius方法中调用log.info。我从来没有得到任何stacktrace只是工作stacktrace – Andis59