Log4Net 中需要 DayOfYear
在 log4j 中,您可以使用 %d{DDD:HHmmss} 的日期模式,其中 DDD 是一年中的某一天。我需要在我们的 C# 应用程序中执行等效类型的模式,但我不知道如何使其工作。 DataTime ToString 似乎没有年份的格式化程序,但它确实有一个名为 DateTime.DayOfYear 的属性。有人知道如何在 log4net 中设置日期模式吗?非常感谢任何建议。
更清楚地说,我真的想找到一个 log4net 模式在我的 App.Config 中使用,它将格式化日志文件中输出的日期部分。也就是说,在我的附加程序中的 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
In log4j you could use a date pattern of %d{DDD:HHmmss} where the DDD would be the Day Of Year. I need to do an equivalent type of pattern in our C# app and I cannot figure out how to get this working. DataTime ToString doesn't seem to have a formatter for Day Of Year but it does have a property for it call DateTime.DayOfYear. Anyone know how to get my date pattern set with day of year in log4net? Any advice is much appreciated.
To be clearer, I am really trying to find a log4net pattern to use in my App.Config that will format the date part of the output in the logfile. To wit in my App.Config within my appender I have:
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{MMdd-HHmmss} %-5.5p %c{1}:%L - %m%n" />
</layout>
This outputs something like:
0319-175824 INFO Program:33 - Entering Main Method
Would like it to output:
078-175824 INFO Program:33 - Entering Main Method
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以创建自己的 DateTimeDateFormatter 的实现,输出您需要的格式。
FormatDate 看起来像您想要的方法覆盖。
或者,您可以注入包含 DateTime.DayOfYear 的属性并使用 属性语法
%property{doy}
You could create your own implementation of DateTimeDateFormatter that outputs the format you require.
FormatDate looks like the method you would want to override.
Alternatively, you could inject a property containing DateTime.DayOfYear and reference it using the property syntax
%property{doy}