我们有一个app .Net应用程序,我们使用Log4Net在应用程序中记录详细信息-没有什么新的-滚动日志文件名采用通常的格式:
rolling-log.txt
rolling-log.txt.1
rolling-log.txt.2 etc.
应用程序的每个用户都会添加到日志文件中,因此,对于特定用户的情况,日志文件可能很难读取,因此,我们希望以某种方式修改配置文件,以单独记录用户的日志详细信息,每个用户写入一个特定的文件,例如
<applicationId>rolling-log.txt
<applicationId>rolling-log.txt.1
<applicationId>rolling-log.txt.2
etc.
其中是每个用户的唯一应用程序Id,由五位数字组成,例如
12345rolling-log.txt
假设这是可能的,有没有关于实现这一点的最佳方法的想法?
干杯
布雷特
发布于 2010-03-10 21:17:17
查找log4net上下文属性...
在你的代码中:
log4net.GlobalContext.Properties["id"] = "12345";
然后
log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo("configPath"));
在log4net配置文件中:
<file type="log4net.Util.PatternString"
value="%property{id}rolling-log.txt" />
发布于 2010-03-23 04:06:40
<file type="log4net.Util.PatternString">
<conversionPattern value="C:\Logs\log-%date{ yyyy.MM.dd.HH.mm.ss}-[%processid].log" />
</file>
发布于 2009-06-23 08:09:28
我相信Log4Net配置文件支持环境变量(例如用户名)以及可定制的模式,这应该会满足您的需求。
查看the Log4Net V1.2.10 release notes中的“用于基于模式的配置的PatternString”。
https://stackoverflow.com/questions/1031096
复制相似问题