Добрый день!
Разбираясь с nlog, пробую писать логи в БД. Возникли вопросы:
1. На текущий момент запись в БД не идёт. Подскажите, где у nlog можно увидеть причину: почему он не пишет в БД? Конфиг прикладываю ниже. Это минимальный неработающий вариант. Права вставки в таблицу есть, в сессиях я вижу подключения с этим запросом, но логов в таблице нет. Сам nlog не дает никаких подсказок, ошибок куда смотреть- чисто "черный ящик".
2. Если включена неработающая запись в БД, то перестают записываться логи в файл. Комментирую логи в БД- запись в файл работает. Мне совсем не нравится, что процесс записи в файл зависит от процесса записи в БД. Вопрос: в правильно настроенном nlog'e есть ли такая беда- как отключается БД, так перестают записываться логи в файл?
Вот мой конфиг:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
</configSections>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" internalLogLevel="Debug">
<variable name="logDir" value="${basedir}/log"/>
<variable name="fileName" value="${gdc:item=FileName}"/>
<variable name="appName" value="${gdc:item=AppName} ver.${gdc:item=AppNum}."/>
<variable name="detailedLayout" value="${baseLine} ${message} ${exception:format=ToString}"/>
<targets>
<target name="logfile" xsi:type="File" fileName="..." layout="${detailedLayout}" archiveFileName="...">
</target>
<target xsi:type="Database" name="test" keepConnection="true" dbProvider="Npgsql.NpgsqlConnection, Npgsql" connectionString="User ID=<...>;Password=<...>;Host=localhost;Port=5432;Database=<...>;Pooling=true">
<commandText>INSERT INTO servicelog (dt, message) values (@dt, @message)</commandText>
<parameter layout="${date}" name="@dt" />
<parameter layout="${message}" name="@message" />
</target>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="logfile"/>
<logger name="*" minlevel="Trace" writeTo="test"/>
</rules>
</nlog>
</configuration>
Здравствуйте, BlackHorse, Вы писали:
BH>1. На текущий момент запись в БД не идёт. Подскажите, где у nlog можно увидеть причину: почему он не пишет в БД?
https://github.com/NLog/NLog/wiki/Internal-Logging... << RSDN@Home 1.3.108 alpha 5 rev. 56>>
Здравствуйте, _Raz_, Вы писали:
_R_>Здравствуйте, BlackHorse, Вы писали:
BH>>1. На текущий момент запись в БД не идёт. Подскажите, где у nlog можно увидеть причину: почему он не пишет в БД?
_R_>https://github.com/NLog/NLog/wiki/Internal-Logging
Большущее спасибо!