Log4net 的配置文件应该放在哪里?
· App.config 或 web.config
· 单独的一个xml 文件
· 无配置文件,在程序代码中进行配置
Log4net 的配置文件中是否一定需要 <Logger> tab?
不需要,请看以下的例子:
<log4net>
<!-- 輸出到Console -->
<appender name="A1" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level %logger - %message%newline" />
</layout>
</appender>
<root>
<!-- 輸出訊息等級 -->
<level value="ALL" />
<appender-ref ref="A1" />
</root>
</log4net>
class Program
{
private static readonly ILog log = LogManager.GetLogger(typeof(Program));
static void Main(string[] args)
{
XmlConfigurator.Configure(new
System.IO.FileInfo("c://temp//config3.xml"));
log.Info("Entering application.");
log.Info("Exiting application.");
}
}
事实上,<root> tab 也不是必须的,但是 <root> tab 和 <logger> tab 必须有一个。
Log4net 如何使用单独文件作为配置文件?
参看上例,只需要在
XmlConfigurator.Configure(new System.IO.FileInfo("c://temp//config3.xml"));
中定义文件在哪里就可以了。
Log4net 如何使用app.config 或 web.config 作为配置文件?
XmlConfigurator.Configure();
除了在配置文件要加入log4net的配置外,在代码中只需要调用该函数就可以了。
DomConfigurator or XmlCofigurator?
从版本 2.0 以后,就开始推荐使用XmlCofigurator 了。