Введите краткое описание своих изменений
(Обязательно)
Minor changes are by default collapsed in the page history.
No changes
The page does not exist yet.
Failed to load changes
Версия от на
Leave Collaboration
Are you sure you want to leave the realtime collaboration and continue editing alone? The changes you save while editing alone will lead to merge conflicts with the changes auto-saved by the realtime editing session.
Асинхронное логирование (в параллельном потоке): Логирование происходит не в target, а в очередь в оперативной памяти. Дополнительный поток периодически запускается и отправляет сообщения по targets. При этом может возникнуть необходимость явно очистить текущую очередь сообщений, чтобы гарантировать сохранение логово, сгенерированных на данный момент.
Форматирование даты
https://github.com/NLog/NLog/wiki/Date-layout-renderer
Форматирование exception
https://stackoverflow.com/questions/4684399/how-to-get-the-stack-trace-when-logging-exceptions-with-nlog
https://stackoverflow.com/questions/46565639/nlog-exception-layout-to-format-exception-type-message-and-stack-trace
The @ means serialize all Exception-properties into Json-format
${exception:format=@}
Контекст логирования
MappedDiagnosticsLogicalContext
https://tpodolak.com/blog/2016/07/05/nlog-tracking-flow-of-requests-using-mappeddiagnosticslogicalcontext/
Обрезка строк для избежании ошибки при записи в базу.
NLog auto truncate messages
https://stackoverflow.com/questions/19368284/nlog-auto-truncate-messages
Реализация кастомного target
Extending NLog is... easy!
https://nlog-project.org/2015/06/30/extending-nlog-is-easy.html
Асинхронное логирование (в параллельном потоке):
Логирование происходит не в target, а в очередь в оперативной памяти. Дополнительный поток периодически запускается и отправляет сообщения по targets.
При этом может возникнуть необходимость явно очистить текущую очередь сообщений, чтобы гарантировать сохранение логово, сгенерированных на данный момент.
AsyncTargetWrapper
https://nlog-project.org/documentation/v2.0.1/html/T_NLog_Targets_Wrappers_AsyncTargetWrapper.htm
Should NLog flush all queued messages in the AsyncTargetWrapper when Flush() is called?
https://stackoverflow.com/questions/10492720/should-nlog-flush-all-queued-messages-in-the-asynctargetwrapper-when-flush-is