我有ASP.Net WebAPI
项目&使用Log4Net
API。
protected void LogException(Exception ex)
{
var msgParams = new Dictionary<string, string>
{
{ "Message", ex.Message },
{ "StackTrace", ex.StackTrace },
};
_logger.Info(JsonConvert.SerializeObject(msgParams));
}
XML配置
<?xml version="1.0" encoding="utf-8" ?> <log4net>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="App.log" />
<appendToFile value="true" />
<maximumFileSize value="50KB" />
<maxSizeRollBackups value="2" />
<encoding value="utf-8" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level %thread %logger - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFile" />
</root>
但是当发生任何异常时&amp;以上LogException()被点击, 我既没有得到任何异常,也没有在我的目录中看到任何App.Log文件 。
我在这里缺少什么? 任何帮助/建议高度赞赏。
答案 0 :(得分:0)
问题可能出在以下位置:
<file value="App.log" />
这将相对于您的webserver目录而不是代码/可执行文件的位置进行记录。设置测试它的完整路径,日志位置必须是运行应用程序的用户可写的。