我有一个Log4Net appender,可以为每个错误发送一封电子邮件。 我希望它在发布一些事件后发送电子邮件,并在一封电子邮件中包含所有事件。
这可能在log4net中吗?
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender,log4net">
<to value="" />
<from value="" />
<subject value="Error email" />
<smtphost value="" />
<bufferSize value=""/>
<lossy value="true"/>
<evaluator type="log4net.Core.LevelEvaluator,log4net">
<threshold value="ERROR"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout,log4net">
<conversionpattern value="%property{log4net:HostName} :: %level :: %message %newlineLogger: %logger%newlineThread: %thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline" />
</layout>
</appender>
答案 0 :(得分:0)
您可以将bufferSize
属性设置为直接在电子邮件中接收分组n个事件的电子邮件。这已存在于SmtpAppender
。
如果您想要更好地控制日志发送给您的内容(例如错误之前的所有x事件),您可以使用具有所需缓冲区大小和有损态度的BufferingForwardingAppender
:将其输出插入您的电子邮件中appender,你会在上下文中收到错误。这样,只有在需要时才会在上下文中收到错误。
请注意,smtp appender直接具有有损属性,如果您不需要更多控制日志记录的发生,可以直接在链接中使用该技术