【问题标题】:NLog time formattingNLog时间格式化
【发布时间】:2022-01-21 23:47:41
【问题描述】:

如何为 NLog 编写一个像 11:32:08:123 这样以毫秒为单位输出时间的布局? 我使用${date:format=yyyy-MM-dd HH\:mm\:ss},但我的日志需要更高的时间精度。

【问题讨论】:

  • 如果您碰巧在寻找仅时间长格式,请使用${time}。 (我上次搜索时怎么没发现?NLog Layout-Renderers

标签: nlog


【解决方案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}
    

    【讨论】:

      猜你喜欢
      • 2011-04-14
      • 2014-01-06
      • 2019-02-17
      • 2015-08-26
      • 2011-10-28
      • 2015-01-30
      • 2023-03-12
      相关资源
      最近更新 更多