我第一次使用NLog,我想出了如何写一个文本文件,但现在我想发送一封电子邮件给自己。我假定当您提供SMTP凭据给NLog时。程序集调用System.Net.Mail命名空间并处理发送电子邮件。如果这是错误的请告诉我。如果你这样做,我会欣赏任何信息,你采取了什么,你完成发送电子邮件。
下面是我的配置。
<?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <targets> <!--<target name="logfile" xsi:type="File" fileName="C:\Users\keithb\Desktop\TestLog.txt" />--> <target name="Mail" xsi:type="Mail" html="true" subject="Error Received" body="${message}" to="user2@someemaill.com" from="user@someemail.com" Encoding="UTF8" smtpUsername="user@someemail.com" enableSsl="False" smtpPassword="pa$$word" smtpAuthentication="Basic" smtpServer="mail.someemail.com" smtpPort="25" /> </targets> <rules> <!--<logger name="*" minlevel="Debug" writeTo="logfile" />--> <logger name="*" level="Error" writeTo="Mail" /> <logger name="*" level="Fatal" writeTo="Mail" /> </rules> </nlog>
Imports NLog Public Class HandleGetRouteInfo Private Shared logger As Logger = LogManager.GetCurrentClassLogger() Public Shared Function GetRouteInfo(ByVal routeInfo As RequestGetRouteInfo) As GetRouteInfoResponse 'TODO: Check route ID,username,password logger.Fatal("User" & routeInfo.UserName & "has entered the GetRouteInfo Method.") logger.Error("User" & routeInfo.UserName & "has entered the GetRouteInfo Method.") Dim str As String = logger.Name End Function End Class
我试图让它发送错误,包含消息,它通常记录到文件的东西,到我的电子邮件。我知道如何捕获异常并通过电子邮件发送给我自己,但我认为NLog有能力做到这一点。任何使用电子邮件功能的简单示例的教程都可以工作。我发现了很多东西,但不能得到它的工作。如果你这样做,一些示例代码或解释我需要做什么将有所帮助。我不知道它是什么,我做错了。任何人都有什么想法?