- Основные
- ShortLog - служит для общей оценки работы приложения и выполнят роль "оглавления" для FullLog. Из-за сравнительно небольших размеров его удобно анализировать.
- Лог пишется в файл на диск.
- Уровень логирования задан как Info.
- Для уровня Error, Fatal записывается только комментарий ошибки.
- FullLog - служит для детального анализа работы приложения и включает в себя ShortLog. Анализируется выборочно.
- Лог пишется в файл на диск.
- Уровень логирования задан как Debug либо Trace.
- Для уровня Error, Fatal записывается комментарий ошибки и информация об исключении.
- ShortLog - служит для общей оценки работы приложения и выполнят роль "оглавления" для FullLog. Из-за сравнительно небольших размеров его удобно анализировать.
- Вспомогательные
- ConsoleLog - аналогичен ShortLog и служит для мониторинга работы программы.
- Лог пишется в консоль.
- Уровень логирования задан как Info.
- Для уровня Error, Fatal записывается только комментарий ошибки.
- SystemLog - аналогичен FullLog, но менее подробен и служит для ведения лога основе EventLog.
- Лог пишется в EventLog.
- Уровень логирования задан как Info.
- Для уровня Error, Fatal записывается комментарий ошибки и информация об исключении.
- ConsoleLog - аналогичен ShortLog и служит для мониторинга работы программы.
- Метку времени в persist-логах предпочитаю полную в формате dd.MM.yyyy HH:mm:ss
- Уровень логирования в логах записываю заглавными сразу же после метрки времени и в скобках: 29.10.2010 12:39:40 (INFO)
- Все логи ведутся в единой директории log
- Лог файлы создаются на текущую дату и располагаются в директории созданной на основе текущей даты в формате yyyy-MM-dd, для удобства сортировки
<?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">
<!-- Путь к log директории -->
<variable name="logDir" value="./log/${date:format=yyyy-MM-dd}"/>
<!-- Настройка Layout -->
<variable name="shortLayout" value="${date:format=HH\:mm\:ss} (${level:uppercase=true}): ${message}"/>
<variable name="commonLayout" value="${date:format=dd.MM.yyyy HH\:mm\:ss} (${level:uppercase=true}): ${message}"/>
<variable name="detailedLayout" value="${date:format=dd.MM.yyyy HH\:mm\:ss} (${level:uppercase=true}): ${message}. ${exception:format=ToString}"/>
<targets>
<target
name="consoleLog"
xsi:type="Console"
layout="${shortLayout}" />
<target
name="shortLog"
xsi:type="File"
fileName="${logDir}/short.log"
layout="${commonLayout}" />
<target
name="fullLog"
xsi:type="File"
fileName="${logDir}/full.log"
layout="${detailedLayout}" />
<target
name="systemLog"
xsi:type="EventLog"
layout="${detailedLayout}" />
</targets>
<rules>
<!-- Основные log -->
<logger name="*" minlevel="Trace" writeTo="fullLog" />
<logger name="*" minlevel="Info" writeTo="shortLog" />
<!-- Вспомогательные log -->
<logger name="*" minlevel="Info" writeTo="consoleLog" />
<logger name="*" minlevel="Info" writeTo="systemLog"/>
</rules>
</nlog>
Комментариев нет:
Отправить комментарий