2009-08-27 33 views
8

我正在使用log4net登录到控制台,并且%date conversionPattern值太冗长。 我想只看到hh:mm:ss - 日期不是必需的因为我知道今天是什么日期。Log4net - 在控制台中显示时间(不是日期)

当前配置:

[conversionPattern值= “%日期%-5level - %消息%的换行符”/]

回答

13

可以使用dateutcdate到日期格式您的规格:

日期

用于在本地时区输出记录日志 事件。到 在世界时间输出日期使用 %utcdate模式。日期格式说明符 转换说明符可以遵循 ,大括号之间用日期格式说明符括住 。例如, %date {HH:mm:ss,fff}或%date {dd MMH yyyy HH:mm:ss,fff}。如果没有给出日期格式 说明符,则假定ISO8601格式为 (Iso8601DateFormatter)。

日期格式说明符允许与ToString的时间模式字符串 相同的语法 。

为了获得更好的效果,建议使用 来使用log4net日期格式器。 这些可以使用 之一字符串“绝对”,“日期”和 “ISO8601”用于指定 AbsoluteTimeDateFormatter, DateTimeDateFormatter和分别 Iso8601DateFormatter指定。例如, %date {ISO8601}或%date {ABSOLUTE}。

这些专用日期格式化程序 的性能明显优于 ToString。

utcdate

用于输出在通用时间记录 事件的日期。日期格式说明符 转换说明符可以遵循 ,大括号之间用日期格式说明符括住 。例如, %utcdate {HH:mm:ss,fff}或%utcdate {dd MMM yyyy HH:mm:ss,fff}。如果没有日期 格式说明给出则认为 (Iso8601DateFormatter)ISO8601 格式。

日期格式指定符承认的 相同的语法的ToString的时间模式字符串 。

为了获得更好的效果,建议 使用log4net的日期格式化。 这些可以使用 之一字符串“绝对”,“日期”和 “ISO8601”用于指定 AbsoluteTimeDateFormatter, DateTimeDateFormatter和分别 Iso8601DateFormatter指定。例如, %utcdate {ISO8601}或 %utcdate {ABSOLUTE}。

这些专用日期格式化程序 的性能明显优于 ToString。

来源:log4net PatternLayout documentation