NLog时间格式化
Posted
技术标签:
【中文标题】NLog时间格式化【英文标题】:NLog time formatting 【发布时间】:2022-01-21 23:47:41 【问题描述】:如何为 NLog 编写一个像 11:32:08:123
这样以毫秒为单位输出时间的布局?
我使用$date:format=yyyy-MM-dd HH\:mm\:ss
,但我的日志需要更高的时间精度。
【问题讨论】:
如果您碰巧在寻找仅时间长格式,请使用$time
。 (我上次搜索时怎么没发现?NLog Layout-Renderers)
【参考方案1】:
$date:format=yyyy-MM-dd HH\:mm\:ss.fff
根据NLog documentation,可以使用C# DateTime 格式字符串。
这是 DateTime 格式字符串的一个很好的参考:http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm
【讨论】:
【参考方案2】:$longdate
harriyott 建议的格式的另一种替代方法是使用 $longdate 渲染器。它应该会自动为您提供所需的精度。
【讨论】:
$longdate
效果很好,但请注意您必须将数据库列定义为datetime2
而不是datetime
,否则当您尝试存储longdate
值。【参考方案3】:
另一种替代解决方案是使用 ISO 8601 格式“1998-02-23T14:23:05.555”。这种格式与sql server的语言无关。
$date:format=yyyy-MM-ddTHH\:mm\:ss.fff
【讨论】:
以上是关于NLog时间格式化的主要内容,如果未能解决你的问题,请参考以下文章