2010-09-20 9 views
34

Jak napisać układ NLog, który wyświetla czas z milisekundami takimi jak ta 11:32:08:123? Używam ${date:format=yyyy-MM-dd HH\:mm\:ss}, ale potrzebuję więcej dokładności czasu w moich dziennikach.Formatowanie czasu NLN

+0

Jeśli szukasz tylko długiego formatu, użyj '$ {time}'. (W jaki sposób nie zauważyłem tego ostatniego wyszukiwania? [NLog Layout-Renderers] (https://github.com/NLog/NLog/wiki/Layout-Renderers)) –

Odpowiedz

11
${longdate} 

Inną alternatywą do formatu sugerowanej przez harriyott jest użycie $ {longDate} renderujący. Powinien automatycznie zapewniać precyzję, jakiej potrzebujesz.

+3

'$ {longdate}' działa świetnie, ale świadomy, że * musisz * zdefiniować kolumnę bazy danych jako 'datetime2' zamiast' datetime' lub NLog wyrzuci wyjątek podczas próby zapisania wartości 'longdate'. – Nick

5

Innym alternatywnym rozwiązaniem jest użycie formatu ISO 8601 "1998-02-23T14: 23: 05.555". Ten format jest niezależny od języka serwera sql.

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