动态修改log4net设置

本文介绍了一种通过代码动态修改 Log4Net 日志配置的方法,包括如何更改滚动文件名称及其路径,并提供了实现这一功能的具体代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先贴上代码,参考网上资料的,忘记是谁的了,先谢谢他。
不过尝试看下Log4net的命名空间就会发现,太棒了,跟MyMetal一样,用起来非常方便。
修改文件路径的代码:
ContractedBlock.gifExpandedBlockStart.gifCode
        public static void ChangeRollingFileName(log4net.ILog iLog, string fileName)
        {
            log4net.Core.LogImpl logImpl 
= iLog as log4net.Core.LogImpl;
            
if (logImpl != null)
            {
                log4net.Appender.AppenderCollection ac 
= ((log4net.Repository.Hierarchy.Logger)logImpl.Logger).Appenders;
                
for (int i = 0; i < ac.Count; i++)
                {    
//这里我只对RollingFileAppender类型做修改
                    log4net.Appender.RollingFileAppender rfa = ac[i] as log4net.Appender.RollingFileAppender;
                    
if (rfa != null)
                    {
                        rfa.File 
= fileName;
                        
if (!System.IO.File.Exists(fileName))
                        {
                            System.IO.File.Create(fileName);
                        }
                        
//更新Writer属性
                        rfa.Writer = new System.IO.StreamWriter(rfa.File, rfa.AppendToFile, rfa.Encoding);
                    }
                }
            }
        }
修改配置文件的代码:
log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(Server .MapPath ( "~/Config/log4net.config")));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值