如何为log4net提供自己的时间戳

时间:2011-12-17 06:39:18

标签: logging log4net

我正在尝试使用队列系统和Timer来提供Logger,以减少主线程上的记录时间。但是,我想捕获创建日志消息的时间,而不是写入日志消息的时间。虽然我可以为消息添加时间戳,但我希望选择为log4net提供时间戳,以便我可以使用模式提供程序格式化写入的日志消息。

如果无法提供时间戳值。在记录之前轻松格式化消息模式的方法很棒。

例如:

<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />

- &GT; 2011-12-17 00:00:38,511 [TestRunnerThread] DEBUG GlobalLogger 12:00:38.411400 - 第1行

2 个答案:

答案 0 :(得分:4)

现在可能有点晚了,但是有一个示例异步appender的代码here

答案 1 :(得分:1)

当您查看log4net实现内部时,您将看到在appender写入日志时但在构造LoggingEvent实例时未创建时间戳。在log4net的抽象Logger类中,创建了一个新的LoggingEvent实例,该实例包含设置为DateTime.Now的时间戳。您可以在附加程序中使用此时间戳。