当前位置: 首页 > 科技观察

日志框架NLog发送日志到邮箱

时间:2023-03-21 13:36:26 科技观察

本文转载自微信公众号《UP技控》,作者conan5566。转载本文请联系UP技控公众号。后台NLog可以将日志输出到不同的媒体上,email就是其中之一,我们可以通过email第一时间接收到信息。使用SMTP协议通过电子邮件发送日志消息。与FallbackGroupTarget很好地结合以创建具有多个SMTP主机的回退。配置语言参数常规选项项名称-目标名称。布局选项页眉-页眉。布局页脚-页脚。layoutlayout-要呈现的文本。布局是必需的。默认值:${message}${newline}。与body属性相同html-指示是否将消息作为HTML而不是纯文本发送。布尔值默认值:falseaddNewLines-指示是否在日志条目之间添加新行。booleanreplaceNewlineWithBrTagInHtml-指示正文中的换行符是否应由标签替换。布尔值默认值:falseencoding-用于发送电子邮件的编码。编码默认值:UTF-8消息选项主题-消息的主题。布局是必需的。默认值:来自${machinename}上的NLog的消息到-收件人的电子邮件地址,以分号分隔(例如john@domain.com;jane@domain.com)。布局。从NLog4.0开始,不再需要该字段,但要定义To、BCC或CC,否则会抛出异常。bcc-以分号分隔的Bcc电子邮件地址(例如john@domain.com;jane@domain.com)。layoutcc-以分号分隔的CC电子邮件地址(例如john@domain.com;jane@domain.com)。layoutfrom-发件人的电子邮件地址(例如joe@domain.com)。布局是必需的。Body-与布局属性相同。邮件消息文本(针对邮件中发送的每条日志消息重复)。布局默认值:${message}${newline}Priority-消息优先级。在没有NLog.MailKit包的情况下使用NLog时,请使用System.Net.Mail.MailPriority。低、正常、高。当使用Nlog+NLog.MailKit版本最高为v3.1时,有效值为MimeKit.MessagePriority。NonUrgent、Normal、UrgentNLog.MailKitV3.2及更高版本接受NonUrgent/Low、Normal、Urgent/High以向后兼容MTP选项smtpUserName-用于连接到SMTP服务器的用户名(在SmtpAuthentication设置为“基本”时使用)).layoutenableSsl-指示在与SMTP服务器通信时是否应使用SSL(安全套接字层)。布尔值默认值:False。注意:端口465不可用于SSL。请参阅问题1226secureSocketOption-仅在NLog.Mailkit2.1+中。提供一种指定SSL和/或TLS加密的方法。默认值为StartTlsWhenAvailable。选项:无、自动、SslOnConnect、StartTls和StartTlsWhenAvailable。如果enableSsl设置为true,将使用SslOnConnectsmtpPassword-用于对SMTP服务器进行身份验证的密码(在SmtpAuthentication设置为Basic时使用)。布局smtpAuthentication-SMTP身份验证模式。默认值:无可能的值:basic-basic-username和password。无-无身份验证。Ntlm-NTLM身份验证。smtpServer-用于发送的SMTP服务器。布局是必需的。smtpPort-SMTP服务器侦听的端口号。整数默认值:25。注意:端口465不支持SSL。请参阅问题1226useSystemNetMailSettings-强制使用system.net/mailSettings中的smtp配置。布尔值默认值:Falsetimeout-指示SMTP客户端超时(以毫秒为单位)。整数默认值:10000(10秒)PickupDirectoryLocation-获取或设置应用程序用于保存由本地SMTP服务器处理的邮件的文件夹(在NLog4.2中引入)。deliveryMethod-指定如何处理外发电子邮件(在NLog4.2中引入)。默认值:网络可能的值:网络-电子邮件通过网络发送到SMTP服务器。PickupDirectoryFromIis-电子邮件被复制到本地Internet信息服务(IIS)用于传递的拾取目录。SpecifiedPickupDirectory-将电子邮件复制到PickupDirectoryLocation属性指定的目录以供外部应用程序传送。skipCertificateValidation-仅限NLog.MailKit。NLog.MailKit1.1中引入-SkipSSLauthenticationcheck实现方法一、VS添加引用NLog.MailKit2,配置nlog...3、config配置邮箱信息"/>4.配置日志参数smtpServer="mx1.example.com"smtpPort="Integer"layout="Layout"/>最后,您可以收到日志电子邮件。参考地址https://github.com/nlog/NLog/wiki/Mail-target