Настройка вывода сообщения электронной почты NLog - PullRequest
1 голос
/ 21 апреля 2011

Я использую NLog v2 Beta для входа в VB.NET .DLL, который создает и отправляет сообщения стороннему сервису. У меня он отлично работает при входе в файл, но теперь хочу, чтобы он также отправлял мне по электронной почте сообщения об ошибках, которые он улавливал автоматически. Ниже приведен соответствующий бит моего файла NLog.config:

<?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="papercut" xsi:type="BufferingWrapper" bufferSize="100">
            <target xsi:type="PostFilteringWrapper" defaultFilter="level >= LogLevel.Debug">
                <target xsi:type="Mail"
                    name="papercut"
                    subject="Your app has errors"
                    to="ToAddress@Domain.com"
                    from="FromAddress@Domain.com"
                    smtpServer="127.0.0.1"
                    smtpPort="25"
                    body={longdate}|{message} />
            </target>
        </target> 
    </targets>

    <rules>
        <logger name="*" minlevel="Debug" writeTo="papercut"  />
    </rules>
</nlog>

По умолчанию он просто перечисляет зарегистрированное сообщение в теле письма. Я хочу предшествовать этому с записанной датой / временем, поэтому играю с body = part безрезультатно (либо неправильно оценивает переменные, либо вылетает NLog). Может кто-нибудь дать мне указатель о том, как настроить NLog для этого?

1 Ответ

2 голосов
/ 24 июня 2011

похоже, что вам не хватает $ в конфигурации тела, и это может быть причиной сбоя NLog ..

body = "${longdate}| ${message}"

больше информации о почтовой цели

https://github.com/NLog/NLog/wiki/Mail-target

также вы можете включить ведение журнала ошибок NLog, как показано ниже.

<nlog 
    xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    autoReload="true"
    throwExceptions="true"
    internalLogFile="Nloglog.log"
    internalLogLevel="Warn"
    >


.....


</nlog>
...