как предоставить свою собственную метку времени для log4net - PullRequest
2 голосов
/ 17 декабря 2011

Я пытаюсь предоставить Logger, используя систему очередей и Timer, чтобы сократить время регистрации в моем основном потоке.Однако я хотел бы зафиксировать время, в которое было создано сообщение журнала, а не когда было записано сообщение журнала.Хотя я мог бы добавить метку времени к сообщению, я бы хотел, чтобы опция предоставляла метку времени для log4net, чтобы я мог использовать поставщик шаблонов для форматирования написанного сообщения журнала.,Был бы удобен способ простого форматирования шаблона сообщения перед регистрацией.

Например:

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

-> 2011-12-17 00: 00: 38,511 [TestRunnerThread] DEBUG GlobalLogger 12: 00: 38.411400 - строка 1

Ответы [ 2 ]

4 голосов
/ 31 октября 2012

Это может быть немного поздно, но есть код для примера асинхронного приложения здесь

1 голос
/ 17 декабря 2011

Когда вы посмотрите на внутреннюю реализацию log4net, вы увидите, что временная метка создается не при записи журналов приложением, а при создании экземпляров LoggingEvent. В абстрактном классе Logger log4net создается новый экземпляр LoggingEvent, который содержит метку времени, установленную в DateTime.Now. Вы можете использовать эту метку времени в своих приложениях.

...