【发布时间】:2010-10-01 13:14:45
【问题描述】:
我们正在使用 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(替换上面的第一行代码),它会按预期工作。知道为什么它不能在外部文件中工作吗?
【问题讨论】:
-
我遇到了同样的问题 - 我们可能遵循了相同的(错误引导的)指南!
-
这是我不喜欢 log4net 的地方。在我看来,日志框架应该是你的应用程序中最可靠的部分之一 - 但 log4net 通常看起来有点脆弱。
标签: file logging configuration log4net external