您好,登錄后才能下訂單哦!
這篇文章主要講解了“日志框架NLog之怎么將日志發(fā)送到郵件”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“日志框架NLog之怎么將日志發(fā)送到郵件”吧!
背景
NLog可以將日志輸出到不同的媒介上,郵件是其中一個,通過郵件可以讓我們第一時間收到信息。使用SMTP協(xié)議通過電子郵件發(fā)送日志消息。與FallbackGroup Target很好地結(jié)合在一起,以創(chuàng)建具有多個SMTP主機的后備。
配置語法
<targets> <target xsi:type="Mail" name="String" header="Layout" footer="Layout" layout="Layout" html="Boolean" addNewLines="Boolean" replaceNewlineWithBrTagInHtml="Boolean" encoding="Encoding" subject="Layout" to="Layout" bcc="Layout" cc="Layout" from="Layout" body="Layout" smtpUserName="Layout" enableSsl="Boolean" secureSocketOption="None|Auto|SslOnConnect|StartTls|StartTlsWhenAvailable"* smtpPassword="Layout" smtpAuthentication="Enum" smtpServer="Layout" smtpPort="Integer" useSystemNetMailSettings="Boolean" deliveryMethod="Enum" pickupDirectoryLocation="String" timeout="Integer" skipCertificateValidation="Boolean" priority="Layout" /> </targets>
參數(shù)
常規(guī)選項
名稱-目標名稱。
布局選項
標頭-標頭。布局
頁腳-頁腳。布局
布局-要渲染的文本。需要布局。默認值:${message}${newline}。與身體屬性相同
html-指示是否以HTML而不是純文本形式發(fā)送消息。布爾默認值:false
addNewLines-指示是否在日志條目之間添加新行。布爾型
replaceNewlineWithBrTagInHtml -指示是否在身體換行字符應(yīng)改為
標簽。布爾默認值:false
編碼-用于發(fā)送電子郵件的編碼。編碼默認值:UTF-8訊息選項
主題-郵件主題。需要布局。默認值:來自$ {machinename}上NLog的消息
到-收件人的電子郵件地址,用分號分隔(例如john@domain.com;jane@domain.com)。布局。從NLog 4.0開始,不再需要此字段,但應(yīng)定義To,BCC或CC,否則將引發(fā)異常。
密件抄送-用分號分隔的密件抄送電子郵件地址(例如john@domain.com;jane@domain.com)。布局
cc-用分號分隔的CC電子郵件地址(例如john@domain.com;jane@domain.com)。布局
來自-發(fā)件人的電子郵件地址(例如joe@domain.com)。需要布局。
體-同布局屬性。郵件消息正文(對于一封郵件中發(fā)送的每條日志消息重復(fù))。布局默認值:${message}${newline}
優(yōu)先級-郵件優(yōu)先級。
當使用不帶NLog.MailKit軟件包的NLog時,請使用System.Net.Mail.MailPriority。Low,Normal,High。
使用版本最高為v3.1的Nlog + NLog.MailKit版本時,有效值為MimeKit.MessagePriority。NonUrgent,Normal,Urgent
NLog.MailKit V3.2和上述接受NonUrgent / Low,Normal,Urgent / High為了向后兼容MTP選項
smtpUserName-用于連接到SMTP服務(wù)器的用戶名(在SmtpAuthentication設(shè)置為“基本”時使用)。布局
enableSsl-指示在與SMTP服務(wù)器通信時是否應(yīng)使用SSL(安全套接字層)。布爾值默認值:False。注意:端口465不適用于SSL。見問題1226
secureSocketOption-僅在NLog.Mailkit 2.1+中。提供一種指定SSL和/或TLS加密的方式。默認為StartTlsWhenAvailable。選項:無,自動,SslOnConnect,StartTls和StartTlsWhenAvailable。如果enableSsl設(shè)置為true,將使用SslOnConnect
smtpPassword-用于針對SMTP服務(wù)器進行身份驗證的密碼(在SmtpAuthentication設(shè)置為“基本”時使用)。布局
smtpAuthentication -SMTP身份驗證模式。默認值:無
可能的值:
基本-基本-用戶名和密碼。
無-無身份驗證。
Ntlm -NTLM身份驗證。
smtpServer-用于發(fā)送的SMTP服務(wù)器。需要布局。
smtpPort -SMTP服務(wù)器正在偵聽的端口號。整數(shù)缺省值:25。注意:端口465不支持SSL。見問題1226
useSystemNetMailSettings-從system.net/mailSettings強制使用smtp配置。布爾默認值:False
超時-表示SMTP客戶端超時(以毫秒為單位)。整數(shù)默認值:10000(10秒)
PickupDirectoryLocation-獲取或設(shè)置應(yīng)用程序用來保存要由本地SMTP服務(wù)器處理的郵件的文件夾(在NLog 4.2中引入)。
deliveryMethod-指定將如何處理傳出電子郵件(在NLog 4.2中引入)。默認值:網(wǎng)絡(luò)可能的值:
網(wǎng)絡(luò)-電子郵件通過網(wǎng)絡(luò)發(fā)送到SMTP服務(wù)器。
PickupDirectoryFromIis-電子郵件被復(fù)制到本地Internet信息服務(wù)(IIS)使用的提取目錄中以進行傳遞。
SpecifiedPickupDirectory-將電子郵件復(fù)制到PickupDirectoryLocation屬性指定的目錄中,以供外部應(yīng)用程序傳遞。
skipCertificateValidation-僅適用于NLog.MailKit。在NLog.MailKit 1.1中引入-跳過SSL認證檢查
實現(xiàn)方式
1、vs添加引用NLog.MailKit
2、配置nlog
<nlog> <extensions> <add assembly="NLog.MailKit"/> </extensions> ...
3、config配置郵箱信息
<system.net> <mailSettings> <smtp from="mail@domain.com" deliveryMethod="SpecifiedPickupDirectory"> <network host="localhost" port="25"/> <specifiedPickupDirectory pickupDirectoryLocation="C:/Temp/Email"/> </smtp> </mailSettings> </system.net>
4、配置日志參數(shù)
<target xsi:type="FallbackGroup" name="mail" returnToFirstOnSuccess="true"> <target xsi:type="Mail" name="mailserver1" subject="Layout" to="Layout" from="Layout" smtpServer="mx1.example.com" smtpPort="Integer" layout="Layout" /> <target xsi:type="Mail" name="mailserver2" subject="Layout" to="Layout" from="Layout" smtpServer="mx2.example.com" smtpPort="Integer" layout="Layout" /> </target>
最后就可以收到日志郵件啦。
感謝各位的閱讀,以上就是“日志框架NLog之怎么將日志發(fā)送到郵件”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對日志框架NLog之怎么將日志發(fā)送到郵件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。