如何用纯VB.Net代码读取已有log4net配置文件初始化日志?
VB.Net 纯代码配置log4net(无需Assembly特性)
如果你不想用<Assembly: log4net.Config.XMLConfigurator>特性,完全可以通过纯VB.Net代码直接加载指定的Log4Net.Config.xml配置文件,对应你想要的类似OpenFile/InitLoggingConfigFile的实际实现如下:
核心实现代码
1. 基础加载(不监听配置文件变化)
直接加载指定路径的配置文件,执行一次后不再检测文件变更:
' 加载同目录下的Log4Net.Config.xml配置文件 log4net.Config.XmlConfigurator.Configure(New System.IO.FileInfo("Log4Net.Config.xml"))
2. 带配置监听(对应特性的Watch:=True)
加载配置文件同时监听文件变化,当配置文件被修改时自动重新加载配置:
' 加载配置并监听文件变更 log4net.Config.XmlConfigurator.ConfigureAndWatch(New System.IO.FileInfo("Log4Net.Config.xml"))
注意事项
- 路径说明:如果配置文件和程序输出目录在同一层级,直接写文件名即可;如果在其他路径,需要传入完整绝对路径,比如
"C:\AppConfigs\Log4Net.Config.xml" - 调用时机:建议在程序启动的最早期执行这段代码,比如控制台程序的
Main方法开头、WinForm的Program.Main中,确保日志功能在其他代码执行前完成初始化 - 测试验证:配置完成后可以通过以下代码验证日志是否正常工作:
' 获取当前类的日志实例 Dim logger As log4net.ILog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType) logger.Info("log4net配置完成,日志输出测试")
内容的提问来源于stack exchange,提问作者schlebe
相关产品推荐
相关产品推荐

