NLog:当Nlog发送邮件时的所有消息
NLog: When Nlog Send mail the all message
我从这里 http://blog.marko-kastelec.com/2015/10/28/nlog-tutorial/.
阅读了这篇关于 nlog 邮件设置的文章
<target name="mailbuffer" xsi:type="BufferingWrapper" slidingTimeout="false" bufferSize="100" flushTimeout="-1">
<target name="mail"
xsi:type="Mail"
smtpServer="my.smtp.server.com"
smtpPort="port"
smtpUserName="user.name"
smtpPassword="password"
subject="${machinename} - My subject string (${shortdate:format=dd. MM. yyyy})"
from="address.to.send.from@mail.com"
to="address.to.send.to@mail.com"
layout="${longdate} LEVEL=${uppercase:${level}}, LOCATION=${callsite:className=true:includeSourcePath=true:methodName=true},
MESSAGE=${message}${newline} EXCEPTION=${exception:format=tostring,StackTrace}${newline}" />
</target>
1) 我的问题是 nlog 什么时候发送邮件?
2) 能否控制邮件发送activity?假设我想调用 nlog 的某些功能并且所有记录的条目将被邮寄而不是自动邮件发送并且条目将从内存中刷新?
如果可以,请指导我定制什么以及如何定制。谢谢
1) my question is when mail will be send by nlog ?
这完全取决于您的配置。一些可能性:
对于每条日志消息
例如每条警告、错误和致命消息:
<rules>
<logger name="*" minlevel="Warn" writeTo="mail" />
</rules>
日志消息分组
将多封邮件集中在一封邮件中。相同的规则,但也更换了目标。例如。
出现 20 条错误消息时或最后一次错误后 10 分钟发送邮件。
<target xsi:type="BufferingWrapper" name="mailLog1" slidingTimeout="true" bufferSize="20" flushTimeout="600000">
<target xsi:type="Mail" name="mail" ../>
</target>
并写入mailLog1
,例如
<rules>
<logger name="*" level="Error" writeTo="mailLog1" />
</rules>
限制消息
为每个事件发送消息,每 10 分钟最多发送 5 条消息。
<target name='limiting' type='LimitingWrapper' messagelimit='5' interval='0:10:00'>
<target name="mail" xsi:type="Mail"
...
/>
</target>
...
<rules>
<logger name="*" level="Error" writeTo="limiting" />
</rules>
缓冲,但出错时发送
缓冲所有消息并在出现错误时发送:
<target name="file" xsi:type="AutoFlushWrapper" condition="level >= LogLevel.Error">
<target xsi:type="BufferingWrapper" ..>
<target name="mail" xsi:type="Mail"
/>
</target>
</target>
2) can we control the mail sending activity? say i want to invoke some function of nlog and all logged entries will be mailed instead of automatic mail sending and entries will be flushed from memory?
查看示例。您还可以将所有包装器目标与其他目标或其他包装器目标组合起来。见 documentation for the possible (wrapper) targets.
我从这里 http://blog.marko-kastelec.com/2015/10/28/nlog-tutorial/.
阅读了这篇关于 nlog 邮件设置的文章<target name="mailbuffer" xsi:type="BufferingWrapper" slidingTimeout="false" bufferSize="100" flushTimeout="-1">
<target name="mail"
xsi:type="Mail"
smtpServer="my.smtp.server.com"
smtpPort="port"
smtpUserName="user.name"
smtpPassword="password"
subject="${machinename} - My subject string (${shortdate:format=dd. MM. yyyy})"
from="address.to.send.from@mail.com"
to="address.to.send.to@mail.com"
layout="${longdate} LEVEL=${uppercase:${level}}, LOCATION=${callsite:className=true:includeSourcePath=true:methodName=true},
MESSAGE=${message}${newline} EXCEPTION=${exception:format=tostring,StackTrace}${newline}" />
</target>
1) 我的问题是 nlog 什么时候发送邮件?
2) 能否控制邮件发送activity?假设我想调用 nlog 的某些功能并且所有记录的条目将被邮寄而不是自动邮件发送并且条目将从内存中刷新?
如果可以,请指导我定制什么以及如何定制。谢谢
1) my question is when mail will be send by nlog ?
这完全取决于您的配置。一些可能性:
对于每条日志消息
例如每条警告、错误和致命消息:
<rules>
<logger name="*" minlevel="Warn" writeTo="mail" />
</rules>
日志消息分组
将多封邮件集中在一封邮件中。相同的规则,但也更换了目标。例如。 出现 20 条错误消息时或最后一次错误后 10 分钟发送邮件。
<target xsi:type="BufferingWrapper" name="mailLog1" slidingTimeout="true" bufferSize="20" flushTimeout="600000">
<target xsi:type="Mail" name="mail" ../>
</target>
并写入mailLog1
,例如
<rules>
<logger name="*" level="Error" writeTo="mailLog1" />
</rules>
限制消息
为每个事件发送消息,每 10 分钟最多发送 5 条消息。
<target name='limiting' type='LimitingWrapper' messagelimit='5' interval='0:10:00'>
<target name="mail" xsi:type="Mail"
...
/>
</target>
...
<rules>
<logger name="*" level="Error" writeTo="limiting" />
</rules>
缓冲,但出错时发送
缓冲所有消息并在出现错误时发送:
<target name="file" xsi:type="AutoFlushWrapper" condition="level >= LogLevel.Error">
<target xsi:type="BufferingWrapper" ..>
<target name="mail" xsi:type="Mail"
/>
</target>
</target>
2) can we control the mail sending activity? say i want to invoke some function of nlog and all logged entries will be mailed instead of automatic mail sending and entries will be flushed from memory?
查看示例。您还可以将所有包装器目标与其他目标或其他包装器目标组合起来。见 documentation for the possible (wrapper) targets.