Log4Net中对DayOfYear的需求

时间:2011-03-20 00:51:07

标签: c# log4net

在log4j中,您可以使用%d {DDD:HHmmss}的日期模式,其中DDD将是年份日。我需要在我们的C#应用​​程序中执行相同类型的模式,我无法弄清楚如何使其工作。 DataTime ToString似乎没有Day Of Year的格式化程序,但它确实有一个属性,它调用DateTime.DayOfYear。任何人都知道如何在log4net中设置我的日期模式与日期?任何建议都非常感谢。

为了更清楚,我真的想在我的App.Config中找到一个log4net模式,它将格式化日志文件中输出的日期部分。在我的App.Config中,我有以下内容:

<layout type="log4net.Layout.PatternLayout">
  <conversionPattern value="%d{MMdd-HHmmss} %-5.5p %c{1}:%L - %m%n" />
</layout>

输出如下内容:

0319-175824 INFO  Program:33 - Entering Main Method

希望输出:

078-175824 INFO  Program:33 - Entering Main Method

1 个答案:

答案 0 :(得分:3)

您可以创建自己的DateTimeDateFormatter实现,输出您需要的格式。

FormatDate看起来就像你想要覆盖的方法。

或者,您可以注入包含DateTime.DayOfYear的属性,并使用property语法%property{doy}

引用它
log4net.GlobalContext.Properties["doy"] = DateTime.DayOfYear;