Доставка журналов в Logz.io с помощью NLog не удалась - PullRequest
0 голосов
/ 03 декабря 2018

Я просто пытаюсь отправить некоторые журналы ошибок из моего приложения ASP.NET MVC 5 в Logz.io

Я использую NLog для доставки своих журналов.
Я установил пакеты NLog и NLog.Web

У меня есть следующий файл 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"
            autoReload="true"
            throwExceptions="true"
            internalLogLevel="ERROR"
            internalLogFile="C:\Temp\nlog-internal.log">

  <extensions>
    <add assembly="Logzio.DotNet.NLog"/>
  </extensions>

  <targets async="true">
    <target name="file" type="File"
            fileName="<pathToFileName>"
            archiveFileName="<pathToArchiveFileName>"
            keepFileOpen="false"
            layout="<long layout patten>"/>

    <target name="logzio"
                    type="Logzio"
                    token="LRK......"
                    logzioType="nlog"
                    listenerUrl="https://listener.logz.io:8071"
                    bufferSize="1"
                    bufferTimeout="00:00:05"
                    retriesMaxAttempts="3"
                    retriesInterval="00:00:02"
                    debug="false" />
  </targets>
  <rules>
    <logger name="*" minlevel="Debug" writeTo="logzio" />
  </rules>
</nlog>

Затем каждый мой контроллер C # имеет следующую строку:

private static Logger logger = LogManager.GetCurrentClassLogger();

и затем я пытаюсь отправить свои журналы, используя что-то вроде:

logger.Fatal("Something bad happens");

Однако, когда я writeTo="file" в файле nlog.config, я могу найти файл журнала на своем локальномдиск с «Что-то плохое случается», так что все в порядке.

Однако в моем веб-интерфейсе LogzIo ничего не появляется, когда я writeTo="logzio", журналы туда не отправляются.

Что я пропустил

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Отвечая на мой собственный вопрос после того, как я нашел, как решить эту проблему.

На самом деле, весь мой проект использует HTTPS.Во внутренних журналах Nlog у меня была эта ошибка

Ошибка: System.Net.WebException: запрос был прерван: не удалось создать безопасный канал SSL / TLS

Я простодобавили эту строчку кода в самом начале ApplicationStart в Global.asax.cs

ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;

После тестирования всего проекта в течение нескольких дней кажется, что это не влияет на другие части проекта. Однако будьте осторожны, так как это глобальная настройка

0 голосов
/ 04 декабря 2018

У меня была такая же проблема, и оказалось, что в моем опубликованном приложении отсутствовали dll logzio.Я добавил их, и это решило проблему.

Проверьте, не отсутствуют ли вы эти файлы в папке bin: Logzio.DotNet.NLog.dll Logzio.DotNet.Core.dll

...