【发布时间】:2017-05-23 19:40:29
【问题描述】:
如何在同一个 log4net 配置文件中使用多个 appender?还提供了如何在 C# 代码中动态选择 appender 来写入日志。
【问题讨论】:
标签: log4net
如何在同一个 log4net 配置文件中使用多个 appender?还提供了如何在 C# 代码中动态选择 appender 来写入日志。
【问题讨论】:
标签: log4net
您可以非常轻松地配置多个附加程序。比如这样:
<appender name="ConsoleAppender" ...
...
</appender>
<appender name="RollingFileAppender" ...
...
</appender>
<root>
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="RollingFileAppender" />
</root>
第二部分更难回答:这个想法不是选择一个 appender 并写入它。通常,您使用记录器并在适当的日志级别简单地编写您认为有用的任何内容。您不关心日志消息的写入位置:这是由系统管理员决定的(恕我直言)。
实际上可以为不同的记录器使用不同的附加程序。系统管理员可能决定将 YourApp.Security 命名空间中的所有错误记录到 SMTP 附加程序,而其余的则简单地记录到数据库或文件中。关于记录器的更多信息可以在这个优秀的教程中找到: http://www.beefycode.com/post/Log4Net-Tutorial-pt-5-Using-Logger-Objects.aspx
然而,可以在代码中创建附加程序(示例代码可以在here 找到),但问题是您是否真的想这样做。示例:如果您想在某些情况下发送电子邮件,那么我建议不要使用 log4net。相反,您只需使用自己的代码创建和发送电子邮件。
【讨论】: