尽管指定了转换模式,但 log4net 日期格式默认为 Iso8601DateFormatter

log4net date format defaulting to Iso8601DateFormatter despite specifying conversion pattern

我需要将日期格式设置为 Mar-07-2016 05:00:00 PM

我的 web.config 有以下条目

  <parameter>
    <parameterName value="@date" />
    <dbType value="DateTime" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date{MMM-dd-yyyy HH:mm:ss}" />
    </layout>
  </parameter>

但日志仍然显示这种格式:2016-03-07 17:00:00.000

您正在登录 DateTime 类型的数据库。因此,当您从数据库中读取数据时,您可以将列格式化为您想要的任何格式。 log4net 转换模式只告诉如何格式化插入 sql 语句的字符串。当您在没有毫秒的情况下进行格式化时,您会在想要执行订单时在数据库中错过它们。所以我建议将毫秒添加到 table.

中的数据字段

在数据库的 select 语句中,您可以执行以下操作:

SELECT CONVERT(VARCHAR(33), date, 126) FROM MyLogTable