配置Log4net以写入多个文件

配置Log4net以写入多个文件,log4net,Log4net,我想将日志写入同一进程中的两个不同日志文件 使用log4net可以做到这一点吗 我需要将单独的消息写入每个日志文件。如何将消息写入特定的附加器?是的,只需将多个FileAppender添加到记录器中即可。例如: Vinay是正确的。在回答您在他的回答中的评论时,您可以采用以下方法: 这些答案很有帮助,但我想与app.config部分和c#code部分分享我的答案,这样下一个人的猜测就少了 然后在代码中: ILog Log=LogManager.GetLogger(“SomeName”);

我想将日志写入同一进程中的两个不同日志文件

使用log4net可以做到这一点吗


我需要将单独的消息写入每个日志文件。如何将消息写入特定的附加器?

是的,只需将多个FileAppender添加到记录器中即可。例如:


Vinay是正确的。在回答您在他的回答中的评论时,您可以采用以下方法:



这些答案很有帮助,但我想与app.config部分和c#code部分分享我的答案,这样下一个人的猜测就少了


然后在代码中:

ILog Log=LogManager.GetLogger(“SomeName”);
ILog SummaryLog=LogManager.GetLogger(“摘要”);
Log.DebugFormat(“处理”);
DebugFormat(“Processing2”);
此处c:/Console.txt将包含“处理”。。。
和\SummaryFile.log将包含“Processing2”

我想将所有消息记录到根日志记录器,并有一个单独的错误日志,下面是如何完成的:



请注意过滤器元素的使用。

使用以下XML配置将日志配置为两个或多个文件:



Nice.:)但是,我需要将单独的消息写入每个日志文件。如何向特定的附加器写入消息?谢谢ofer@ofer-请参阅我关于如何执行此操作的答案。如果您希望File1Appender记录调试错误,File2Appender记录错误,该怎么办?我正在尝试实现类似的功能。如果您能回答我的问题,我将非常高兴:您不能登录到单独的appender-您需要配置不同的记录器,并将适当的appender连接到每个记录器。然后将不同的消息记录到不同的日志记录者。下面是我使用代码作为配置的方式:我在我的一个应用程序中有相同的设置,但它对我不起作用:(此讨论非常古老…希望你能回答…我尝试了你的方法,但两个日志记录者记录了相同的消息。如log.Info(“”)和otherLog.Info(“”)同时将消息写入两个日志文件。@daniel_是的,我所做的是使用appender块创建两个具有单独文件路径的appender(与此路径上方的路径相同)……因此,实际上我们有两个名为fileappender1和fileappender2的appender块……@Suthomil只需添加'additivity=“false”到logger节点,如Gary的回答和Jason Hernandez的突出显示。在本例中,它仍将所有消息放在根目录中,但只有来自otherLog.Info(“”)的消息将显示在File1Appender2LogManager.GetLogger(“SomeName”)中;get错误无法从字符串转换为System.Type。缺少什么?我只是想提醒大家注意additivity=“false”属性,防止所有内容都被记录到根目录中。这是log4net强大功能的一个很好的例子。谢谢!上面的配置丢失了
,没有它,我在日志文件中看不到任何消息。@CrnaStena您确定这是您所做的唯一更改吗?@Craig有关使用它的更多信息,请参阅此问题: