log4net的文件Appender的不记录 [英] Log4Net File Appender Not Logging
本文介绍了log4net的文件Appender的不记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的FileAppender不能正常工作。这可能不是因为我是本地管理员权限的事情。
我已经启用内部调试,我没有得到任何错误或异常的log4net的。
我的配置文件如下。 谢谢
< log4net的>
<附加目的地名称=是ConsoleAppenderTYPE =log4net.Appender.ConsoleAppender>
<布局类型=log4net.Layout.PatternLayout>
< conversionPattern值=%DATE [%线程]%-5level%记录[%NDC] - %消息%换行/>
< /布局>
< /附加器>
<附加目的地名称=FileAppenderTYPE =log4net.Appender.FileAppender>
<文件值=C:\登录file.txt的/>
< appendToFile值=真/>
<布局类型=log4net.Layout.PatternLayout>
< conversionPattern值=%DATE [%线程]%-5level%记录[%NDC] - %消息%换行/>
< /布局>
< /附加器>
<根>
<电平值=DEBUG/>
<附加目的地-REF REF =是ConsoleAppender/>
<附加目的地-REF REF =FileAppender/>
< /根>
< / log4net的>
在code登录是有效的: -
公共类记录仪
{
私人静态只读的ILog defaultLog;
静态记录仪()
{
BasicConfigurator.Configure();
defaultLog = LogManager.GetLogger(默认);
}
公共静态无效的日志(字符串的errorMessage,例外的例外)
{
defaultLog.Error(的errorMessage,除外);
}
}
解决方案
根据您的描述我以为,你所使用的BasicConfigurator(仅支持是ConsoleAppender),而不是XmlConfigurator。切换到XmlConfigurator应该解决您的问题。
my FileAppender isn't working. It probably isn't a permissions thing as I'm local admin.
I've enabled internal debugging and I'm not getting any errors or exceptions from log4net.
My config file is below. Thanks
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="C:\log-file.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="FileAppender" />
</root>
</log4net>
The code to log is effectively:-
public class Logger
{
private static readonly ILog defaultLog;
static Logger()
{
BasicConfigurator.Configure();
defaultLog = LogManager.GetLogger("default");
}
public static void Log(string errorMessage, Exception exception)
{
defaultLog.Error(errorMessage, exception);
}
}
解决方案
Based on your description I assumed, that you used the BasicConfigurator (supports only ConsoleAppender) instead of the XmlConfigurator. Switching to the XmlConfigurator should fix your problem.
这篇关于log4net的文件Appender的不记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文