我正在寻找一个示例log4net / log4j配置,它允许将不同类型的错误记录到不同的目的地。
例如:
如果发生服务错误(由于某些外部服务不可用),我需要通知该服务的管理员,也可能是我们的开发人员或管理人员。
如果发生内部错误(由于我们的应用程序出现故障),我希望应用程序开发人员得到通知(但不是管理员或经理),并提供足够的信息来解决该问题。
请分享您的经验。
答案 0 :(得分:0)
log4net下载中有一个示例扩展,显示如何向log4net添加自定义跟踪级别。
查看扩展名\ net \ 1.0 \ log4net.Ext.Trace
您可以为SERVICE创建自定义级别,为INTERNAL创建自定义级别。
在您的代码中,您将使用Log.SERVICE()和Log.INTERNAL()
您的配置如下:
<appender name="EmailAppender" type="log4net.Appender.SmtpAppender">
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="SERVICE" />
</evaluator>
<subject value="Error in the service" />
<to value="service_admin@yourcompany.com" />
</appender>
<appender name="EmailAppender" type="log4net.Appender.SmtpAppender">
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="INTERNAL" />
</evaluator>
<subject value="Error in the internals" />
<to value="internal_admin@yourcompany.com" />
</appender>