使用旧版本的 log4net:如何使用 RollingFileAppender?
我使用的是旧版本的 log4net:1.2.0.21221。
当我使用新版本的log4net时,我能够成功地使用滚动文件附加器。
使用属性:
log4net.GlobalContext.Properties["LogName"] = string.Concat(fileName, "_", dateTimeInfo, ".log");
log4net.ThreadContext.Properties["Version"] = "1";
XmlConfigurator.Configure();
这些东西在旧版本的 log4net 中不可用。如何使用配置文件中定义的滚动文件附加器?每次启动应用程序时,我都需要一个全新的配置文件名称。
I am using an old version of log4net: 1.2.0.21221.
When I used the new version of log4net, I was able to successfully make use of rolling file appender.
Using the properties:
log4net.GlobalContext.Properties["LogName"] = string.Concat(fileName, "_", dateTimeInfo, ".log");
log4net.ThreadContext.Properties["Version"] = "1";
XmlConfigurator.Configure();
These things are not available in the older version of log4net. How do I make use of my rolling file appender defined in my config file? I need a brand new name for config file everytime I start my application.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您没有理由使用 GlobalContext 来正确命名您的文件。
请参阅以下示例:
是文件名的第一部分。 PRE 文件名(如果您愿意的话)。再往下看,有
这是文件名的其余部分。它会附加到您放入文件属性中的值。在我的示例中,它将输出一个名为 FILENAME-20110124090021.log 的文件。如果您注意到我的 datePattern 的最后一部分,它在双引号内包含单引号“.log”,并且只是转义了日期时间调用评估的任何值。
There is no reason for you to be using the GlobalContext for naming your file properly.
See the following example:
The
<file value="..." />
is the first part of your filename. The PRE filename if you will. Look a little farther down and there is the<datePattern value="..." />
which is the rest of the filename. It gets APPENDED to the value you put in the file attribute. In my example it will output a file namedFILENAME-20110124090021.log
.If you notice the last part of my datePattern it contains single quotes '.log' inside double quotes and that simply escapes any values from being evaluated by the datetime call.