Ответ 1
Хотя это очень старый вопрос, этот же вопрос преследовал меня последние пару недель. Вот мой маленький вклад в улей разума:
Я обнаружил, что для облегченного клиентского или клиент-серверного приложения, использующего упрощенную и облегченную программу просмотра журналов, такую как log2console с целевым объектом NLogViewer, заполненную полями дополнительных параметров, она упрощает использование/настройку и настройку, а также позволяет читать и легко находить информацию. Я искал.
Я использовал прослушиватель UDP в средстве просмотра журнала и следующее определение цели в моей конфигурации NLog:
<target xsi:type="NLogViewer" name="logviewer" address="udp://localhost:7071" onOverflow="Split">
<parameter name="Message		" layout="${message}" />
<parameter name="Callsite		" layout="${callsite:includSourcePath=true}"/>
<parameter name="Exception	" layout="${exception:separator= ---- :innerExceptionSeparator= -- -- -- -- -- :maxInnerExceptionLevel=5:format=Message,Type,StackTrace:innerFormat=Message,Type,StackTrace}" />
<parameter name="StackTrace	" layout="${newline}	${stacktrace_custom}" />
</target>
Заметки:
-
	
это вкладка, которая помогает сделать его немного более читабельным. -
является новой строкой, поскольку я не мог использовать $ {newline} в параметре средства визуализации макета (ограничение NLog). - В моем примере я использую очень подробный макет, вы, конечно, можете редактировать его так, как вам нравится, для справки используйте страницу документации $ layout layout.
Надеюсь, кто-то найдет это полезным