我们正在使用 log4net 并希望在外部配置文件中指定它的配置(就像我们对其他部分所做的那样)。为此,我们将 App.config 中的 log4net 部分更改为:
...
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
...
<log4net configSource="Log.config" />
...
在 Log.Config 文件(与 App.config 相同的目录)中,我们有:
<log4net>
<appender name="General" type="log4net.Appender.FileAppender">
<file value="myapp.log" />
<layout type="log4net.Layout.SimpleLayout" />
</appender>
<root>
<appender-ref ref="General" />
</root>
</log4net>
但是,当我们运行该应用程序时,不会创建任何日志文件(并且不会完成任何日志记录)。控制台没有输出任何错误消息。
如果我们将 Log.config 文件的内容移回 App.config(替换上面的第一行代码),它将按预期工作。知道为什么它不能在外部文件中工作吗?
你的身上是否有以下属性AssemblyInfo.cs
file:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
在每个需要日志记录功能的类的开头添加这样的代码:
private static readonly ILog log =
LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
我有一篇博客文章包含此信息和其他信息here http://mitch-wheat.blogspot.com/2007/04/log4net-net-logging-tool.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)