Итак, NLogViewer позволяет пользователю просматривать лог файл в удобном виде, используя для этого цветовую подсветку уровней логирования, фильтры и поиск, при этом, NLogViewer может оперировать как и с локальным лог-файлом, так и выступать в роли лог-сервера(!), который будет собирать определенную лог-информацию приходящей по сети.
Для того чтобы начать работать с NLogViewer надо скачать себе проект из SVN (я использовал клиент TortoiseSVN) с ветки http://svn.nlog-project.org/repos/nlog/trunk (или с http://github.com/lytri/NLogViewer). После чего, открыть NLogViewer.sln, собрать (у меня не собрался, пришлось руками настроить reference на NLog.dll) и запустить.
В главном окне программы Вам предложат открыть локальный лог файл, либо запустить лог-сервер. Первый вариант не столь интересен, как второй, поэтому выбираем лог-сервер. Вторым шагом надо определиться с протоколом передачи, указываем UDP нажимаем Next, выбираем порт (по-умолчанию 4000) жмем Next, определяем формат данных XML (Log4J-Compatibile XML(NLog, log4xxx)) нажимаем Finish. Все, сервер запущен на localhost:4000 и ожидает входящих лог-сообщений. Открываем новый проект, и добавляем в него исходный код, взятый из предыдущей статьи, а конфигурационный файл создайте новый следующего содержания: <?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="viewer" xsi:type="NLogViewer" address="udp://localhost:4000" /> </targets> <rules> <logger name="*" minlevel="Debug" writeTo="viewer" /> </rules> </nlog>
Обратите внимание на атрибут xsi:type, определяющий, что логирование будет происходить в лог-сервер NLogViewer по сети. Обязательным атрибутом у данного типа является address, определяющий протокол, сетевой адрес и порт лог-сервера. Заметим, что нет атрибута layout, так как layout на сервере. Более подробно о данном типе здесь. Запустите проект, и в окне NLogViewer вы увидите Ваши сообщения уровня Debug, маркированные разными цветами:
есть ли возможность вписать свою логику в этот сервер логирования?
ОтветитьУдалитьНапример, при поступлении Fatal сделать то-то ... сообщить тому-то...
З.Ы. огромное спасибо Вам за серию статей про NLog! :)
Конечно, исходный код полностью открыт)
ОтветитьУдалитьНо есть небольшое исключение: должно быть сохранено авторское право.
https://github.com/lytri/NLogViewer/blob/master/LICENSE.txt
PS: NLog действительно хороший логгер, всем рекомендую. Вот скоро должна выйти выйти релизная версия NLog 2.0 (пока только бета).
С GitHub'а качается NLogViewer, а вот в SVN'е лежат исходники NLog, и среди них я не нашёл клиента NLogViewer, там только target.
ОтветитьУдалитьВ новой версии 2.0 этой утилиты уже нет (автор перестал ее поддерживать, но приглашает любого принять участие в проекте http://nlog-project.org/forum#nabble-td1685400).
ОтветитьУдалитьNLogViewer осталась в 1.0: http://svn.nlog-project.org/repos/nlog/branches/NLog1/NLogViewer/
У меня почемуто не работает, в консоль пишет, в файл пишет а в NLogViewer Нет!
ОтветитьУдалить