Форматирование времени NLog

Как мне написать макет для NLog, который выводит время в миллисекундах, как это 11:32:08:123? Я использую ${date:format=yyyy-MM-dd HH\:mm\:ss}, но мне нужно больше точности во времени в моих журналах.


person levanovd    schedule 20.09.2010    source источник
comment
Если вы ищете только длинный формат времени, используйте ${time}. (Как я не заметил это в прошлый раз, когда искал? NLog Layout-Renderers )   -  person Nigel Touch    schedule 21.10.2015


Ответы (3)


${date:format=yyyy-MM-dd HH\:mm\:ss.fff}

Согласно документации NLog, вы можете использовать строку формата C# DateTime.

Это довольно хороший справочник по строкам формата DateTime: http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm

person matthughes404    schedule 24.09.2010

${longdate}

Другой альтернативой формату, предложенному harriyott, является использование средства визуализации ${longdate}. Это должно автоматически дать вам необходимую точность.

person Ali    schedule 06.01.2014
comment
${longdate} прекрасно работает, но имейте в виду, что вы должны определить столбец базы данных как datetime2, а не datetime, иначе NLog выдаст исключение, когда вы попытаетесь сохранить значение longdate. - person Nick; 15.12.2014

Другое альтернативное решение — использовать формат ISO 8601 «1998-02-23T14:23:05.555». Этот формат не зависит от языка сервера sql.

${date:format=yyyy-MM-ddTHH\:mm\:ss.fff}
person Fux    schedule 28.05.2014