Порывшись в документации по NLog и форумах, написал для себя наиболее типичную конфигурацию NLog.
- В ней содержатся следующие таргеты: консоль, цветная консоль, файл и удаленный просмотрщик логов (например, log2console).
- Для задания layouts и других параметров используются переменные, так что править теперь нужно только в одном месте.
- Удалось также вывести exception для удаленного просмотрщика: он задается отдельным параметром и становится виден в окне Details.
- Удалось выяснить, как разделять поля exception переводом строки: достаточно задать символы как
- Для ускорения работы кода: <targets async="true">
<?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"
throwExceptions="false">
<!-- Exception layout -->
<variable name="excLayout" value="${exception:format=Type,Message,StackTrace:separator= }"/>
<!-- Message layout -->
<variable name="msgLayout" value="${longdate} [${level}] ${logger}: ${message}"/>
<!-- Full layout (msgLayout + excLayout) -->
<variable name="fullLayout" value="${msgLayout} ${excLayout}" />
<!-- Address for logViewer target -->
<variable name="viewerAddress" value="tcp4://localhost:4505" />
<!-- File name pattern -->
<variable name="fileName" value="${basedir}logs/log.txt" />
<targets async="true">
<!-- Simple console target -->
<target name="console" xsi:type="Console" layout="${fullLayout}" />
<!-- Colored console target -->
<target name="coloredConsole" xsi:type="ColoredConsole" layout="${fullLayout}"/>
<!-- File layout -->
<target name="file" xsi:type="File" layout="${fullLayout}" fileName="${fileName}" createDirs="true" />
<!-- LogViewer target (for log2console) -->
<parameter name="exception" layout="${excLayout}"/>
</target>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="logViewer,file" />
</rules>
</nlog>
Комментариев нет:
Отправить комментарий