现在,我通过创建RollingFileAppender实例然后调用BasicConfigurator.Configure()以编程方式配置log4net。这很好,但我试图创建两个相同的文件 - 一个在为每次应用程序运行创建的时间戳目录中,另一个在静态位置,以便开发人员轻松截取最新日志。 (这只用于运行自动化测试,因此创建一大堆目录不是问题)以编程方式配置log4net将相同的消息写入两个单独的文件
理想情况下,我希望这些文件完全相同,但我意识到log4net可能不会使这成为可能。如果他们有不同的记录器名称,那很好 - 只要我可以将一条日志语句写入这两个日志文件。
我当前的代码:
IAppender appender = new RollingFileAppender
{
...
}
appender.ActivateOptions();
BasicConfigurator.Configure(appender);
为什么不在配置文件中设置两个appender,然后使用单独的配置文件进行测试? – TrueWill 2009-09-12 16:49:12
@TueWill:这些测试使用独立的.exe以及Powershell cmdlet运行。从Powershell运行时,.config文件中的log4net部分不会被读取。以编程方式执行此操作允许我们在两种情况下使用相同的配置。 – 2009-09-12 17:00:28