2010-09-20 10 views
34

Come si scrive un layout per NLog che emette il tempo con millisecondi come questo 11:32:08:123? Io uso ${date:format=yyyy-MM-dd HH\:mm\:ss} ma ho bisogno di più precisione nel tempo nei miei registri.Formattazione ora NLog

+0

Se si sta cercando un formato solo per il tempo lungo, utilizzare '$ {tempo}'. (Come non ho individuato l'ultima volta che ho cercato? [Renderizzatori di layout di NLog] (https://github.com/NLog/NLog/wiki/Layout-Renderers)) –

risposta

11
${longdate} 

Un'altra alternativa per schema suggerito da harriyott è quello di utilizzare il $ {} longdate renderer. Dovrebbe automaticamente darti la precisione di cui hai bisogno.

+3

'$ {longdate}' funziona alla grande, ma sii consapevole del fatto che * si deve * definire la colonna del database come 'datetime2' piuttosto che' datetime' o NLog genererà un'eccezione quando si tenta di memorizzare il valore 'longdate'. – Nick

5

Un'altra soluzione alternativa è utilizzare il formato ISO 8601 "1998-02-23T14: 23: 05.555". Questo formato è indipendente dalla lingua del server sql.

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