Как отправлять сообщения об ошибках, записанных с помощью NLog, по электронной почте? [закрыто]

Я впервые использую 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 есть возможности для этого. Подойдут любые учебники с простыми примерами использования электронной почты. Я нашел много чего, но не могу заставить его работать. Если вы это сделали, вам может помочь пример кода или объяснение того, что еще мне нужно сделать. Я не могу понять, что это такое, я делаю не так. У кого-нибудь есть идеи?

34
задан Keith Beard 7 January 2012 в 04:19
поделиться