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

时间:2016-03-07 23:01:21

标签: c# asp.net log4net

我需要将日期格式设置为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

1 个答案:

答案 0 :(得分:1)

您正在登录数据库类型DateTime。因此,当您从数据库中读取数据时,可以使用任何所需格式对列进行格式化。 log4net转换模式仅告诉如何格式化insert sql语句的字符串。当您在没有毫秒的情况下进行格式化时,如果要进行订单,则会在数据库中遗漏它们。所以我建议将毫秒添加到表中的数据字段。

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

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