- Макеты определяют макет отображаемого вывода, например CSV, JSON, XML (NLog 4.6+) или простой макет (по умолчанию).В настоящее время в NLog имеется 5 макетов (включая стандартную): https://nlog -project.org / config /? Tab = layouts
- Средства визуализации макетов представляют собой значения рендеринга, например, сообщение,исключение, идентификатор процесса и т. д. Также называется «маркеры шаблона».Макет выглядит как
${something}
.В NLog существует около 100 средств визуализации макетов, но есть также сторонние средства визуализации макетов.См. https://nlog -project.org / config /? Tab = layout-renderers
Вы можете увидеть макет как метод объединения средств визуализации макета.Макет по умолчанию немного скрыт, но другие макеты должны сделать его более понятным.См. Примеры ниже.
Некоторые примеры:
Макет по умолчанию
Layout = @"${date:format=HH\:mm\:ss} ${level} ${message} ${exception}"
Это макет по умолчанию с 4 средствами визуализации макета (дата, уровень, сообщение, исключение)
макет JSON
Целевой файл с JsonLayout с теми же 4 средствами визуализации макета:
<target name='jsonFile' type='File' fileName='log.json'>
<layout type='JsonLayout'>
<attribute name='time' layout='${longdate}' />
<attribute name='level' layout='${level:upperCase=true}'/>
<attribute name='message' layout='${message}' />
<attribute name='exception' layout='${exception}' />
</layout>
</target>
Будет создан файл, например, { "time": "2016-10-30 13:30:55.0000", "level": "INFO", "message": "this is message", "exception": "test" }
То же самое для CSV, но затем для создания CSV-файлов (или CSV для базы данных и т. Д.).
Средство визуализации макета исключений: $ {исключение}
(См. Также https://github.com/NLog/NLog/wiki/Exception-Layout-Renderer)
Это для рендеринга исключения, поскольку исключения захватываются отдельно от сообщения в NLog.См. Также Как исправить исключения журнала