以编程方式配置log4net以将相同的消息写入两个单独的文件

时间:2009-09-12 16:39:58

标签: c# log4net

现在,我通过创建RollingFileAppender实例然后调用BasicConfigurator.Configure()以编程方式配置log4net。这工作得很好,但我正在尝试创建两个相同的文件 - 一个在时间戳目录中,为每次运行的应用程序创建,另一个在静态位置,以便开发人员轻松查找最新的日志。 (这仅用于运行自动化测试,因此创建大量目录不是问题)

理想情况下,我希望文件完全相同,但我意识到log4net可能无法实现这一点。如果他们有不同的记录器名称,那很好 - 只要我有一个日志语句写入两个日志文件。

我目前的代码:

IAppender appender = new RollingFileAppender
{
    ...
}

appender.ActivateOptions();

BasicConfigurator.Configure(appender);

1 个答案:

答案 0 :(得分:3)

尽管完全可以以编程方式完成,但我不想在这里解释API,它很容易查找。

到目前为止,最简单,最灵活的方法是配置两个appender从配置文件中读取它。您可以通过调用log4net.Config.XmlConfigurator.Configure()强制执行此操作,如果要将其全部保存在代码中,您甚至可以将XmlElement传入Configure()。