log4net.config中的$ {stacktrace}只是将堆栈跟踪写入日志文件中

时间:2017-07-04 09:40:21

标签: c# log4net

我想将调用日志函数的堆栈跟踪写入日志文件。

我正在使用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 | [8] | INFO   |在这里显示stacktrace | stacktrace {5}

因此,我没有显示实际的堆栈跟踪,而是获得了“stacktrace {5}”这个词

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您需要传递您的异常实例,如下所示

sceneView.session.currentFrame?