在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
答案 0 :(得分:3)
您可以创建自己的DateTimeDateFormatter实现,输出您需要的格式。
FormatDate看起来就像你想要覆盖的方法。
或者,您可以注入包含DateTime.DayOfYear的属性,并使用property语法%property{doy}
log4net.GlobalContext.Properties["doy"] = DateTime.DayOfYear;