我正在使用log4net,我想有2个日志,
- BasketballCustomer.log,适用于所有打篮球的客户;
- ChessCustomer.log,适用于所有参加国际象棋的客户
,对于每个客户,无论他/她是否打篮球或国际象棋,只有在运行时才知道。
我希望单独配置每个日志,关于日志文件名,大小,数量,日志级别等。
另外,我更喜欢这样的设置由C#代码完成,而不是配置文件。
我怎么能这样做?
我尝试在网上搜索,有一些文章,但没有一个符合我的要求
- Log4Net and multiple log files讨论了多个日志文件,但它在运行时没有切换;
- Configure Log4net to write to multiple files类似,但是在配置文件中完成....
请提出建议,非常感谢!
答案 0 :(得分:2)
您可以通过在log4net.config中使用环境变量,然后通过C#代码设置环境变量的值来实现此目的
所以在你的C#类的某个地方做一些像:
Environment.SetEnvironmentVariable("log_file_name", "MyLogFileName");
然后在使用的log4net.config中,指定环境变量名称的值。语法如下:
<param name="File" value="${log_file_name}".log/>