У меня есть windows -сервисный проект в C#. NET с последней версией. NET framework, и я пытаюсь внедрить nLog 4.5.11 в проект. Сервис Windows имеет класс таймера, и его события запускаются каждые 10 секунд. Я пытаюсь написать в nLog из этих обработчиков, но он не печатает в файле журнала.
Операторы info из обработчика событий onstart windows прекрасно записываются в журнал.
После устранения неполадок в internalLogFile.log, теперь я нашел эти строки в nLog Info, но в другом файле журнала, созданном какой-то другой сборкой, такой как RabbitMQ.log. Я даже не упомянул об этом в nLog.config. Я не уверен, почему nLog делает это смешивание контента в нескольких файлах.
nlog-сборок, добавленных в проект windows -service: -
nLog Содержимое файла .config: -
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" internalLogFile="C:\Px\log.txt" internalLogLevel="Info">
<targets>
<target name="logconsole" xsi:type="Console" />
<target name="logfile"
xsi:type="File"
fileName="${basedir}/Px_LoaderService-${shortdate}.log" />
</targets>
<rules>
<logger name="docLogger" minlevel="Info" writeTo="logfile" />
<logger name="*" minlevel="Info" writeTo="logconsole" />
</rules>
</nlog>
InternalLogfile также не содержит ошибок или информации об отсутствующих записях.
Вот пример кода обработчика события Timer : -
private static NLog.Logger log = LogManager.GetLogger("docLogger");
private void BulkInserts(object sender, ElapsedEventArgs e)
{
lock (_locker)
{
try
{
log.Info(string.Format("BulkInsert called."));
}
}
Пожалуйста, подскажите, где я делаю ошибку, и происходит это сочетание записи журнала.