我们有一个ASP .Net应用程序,我们使用Log4Net来记录应用程序中的详细信息 - 没有新内容 - 滚动日志文件名的格式通常为:
rolling-log.txt
rolling-log.txt.1
rolling-log.txt.2 etc.
Run Code Online (Sandbox Code Playgroud)
应用程序的每个用户都添加到日志文件中,对于特定用户的情况,日志文件可能难以阅读,因此,我们希望以某种方式修改配置文件以单独记录用户的日志详细信息,每次写入特定文件,例如
<applicationId>rolling-log.txt
<applicationId>rolling-log.txt.1
<applicationId>rolling-log.txt.2
etc.
Run Code Online (Sandbox Code Playgroud)
每个用户的唯一应用程序ID在哪里,由五位数字组成,例如
12345rolling-log.txt
Run Code Online (Sandbox Code Playgroud)
关于实现这个的最佳方法的任何想法,假设它是可能的?
干杯
布雷特
iso*_*tel 37
<file type="log4net.Util.PatternString">
<conversionPattern value="C:\Logs\log-%date{ yyyy.MM.dd.HH.mm.ss}-[%processid].log" />
</file>
Run Code Online (Sandbox Code Playgroud)
小智 16
寻找log4net上下文属性...
在你的代码中:
log4net.GlobalContext.Properties["id"] = "12345";
Run Code Online (Sandbox Code Playgroud)
然后
log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo("configPath"));
Run Code Online (Sandbox Code Playgroud)
在log4net配置文件中:
<file type="log4net.Util.PatternString"
value="%property{id}rolling-log.txt" />
Run Code Online (Sandbox Code Playgroud)
我相信Log4Net配置文件支持环境变量(例如USERNAME)以及可以为您提供所需内容的可自定义模式.
请参阅Log4Net V1.2.10发行说明中的 "PatternString for pattern based configuration" .
| 归档时间: |
|
| 查看次数: |
20772 次 |
| 最近记录: |