log4Net不能成功生成日志问题(关于配置错误)
log4Net不能成功生成日志问题(关于配置错误)
调试发现问题原因在于 Log4Net IsInfoEnabled 一直为 false,返回的对象中所有 IsXXX 一直为false,这个问题的原因在于配置文件读取失败。
配置方式有两种:
1、直接在web.config 中配置,可如下

<configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <!-- 设置日志记录方式 --> <appender name="LogFileAppender" type="log4net.Appender.FileAppender, log4net"> <param name="File" value="D:\\Senderlog.txt" /> <param name="AppendToFile" value="false" /> <layout type="log4net.Layout.PatternLayout, log4net"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n" /> </layout> </appender> <!--<appender name="Console" type="log4net.Appender.ConsoleAppender, log4net"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" /> </layout> </appender>--> <!-- 设置日志记录级别 --> <root> <priority value="INFO" /> <appender-ref ref="LogFileAppender" /> </root> <!-- Specify the level for some specific namespaces --> <!-- Level can be : ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF --> <logger name="Sender" additivity="true"> <level value="INFO" /> <appender-ref ref="LogFileAppender" /> </logger> </log4net>
2、直接新建如log4net.config 的配置文件,如下

<log4net> <!-- 设置日志记录方式 --> <appender name="LogFileAppender" type="log4net.Appender.FileAppender, log4net"> <param name="File" value="D:\\Senderlog.txt" /> <param name="AppendToFile" value="false" /> <layout type="log4net.Layout.PatternLayout, log4net"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n" /> </layout> </appender> <!--<appender name="Console" type="log4net.Appender.ConsoleAppender, log4net"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" /> </layout> </appender>--> <!-- 设置日志记录级别 --> <root> <priority value="INFO" /> <appender-ref ref="LogFileAppender" /> </root> <!-- Specify the level for some specific namespaces --> <!-- Level can be : ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF --> <logger name="Sender" additivity="true"> <level value="INFO" /> <appender-ref ref="LogFileAppender" /> </logger> </log4net>
这两种配置方法的区别在与读取配置文件
方法1中读取方式是这样的:
log4net.Config.XmlConfigurator.Configure(); //这个地方是注册log4net 配置
或在AssemblyInfo.cs文件中添加
[assembly: log4net.Config .XmlConfigurator()]
方法2中则需要指定配置文件
log4net.Config.XmlConfigurator.Configure("文件信息"); //这个地方是注册log4net 配置,感兴趣的朋友可以根据下图进行相关配置,总之这个地方的效果和其它方法是一样的,目的都是为了加载log4net 中的相关配置信息。
或在AssemblyInfo.cs文件中添加
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
这句的意思是 找到名称为 log4net.config 的配置文件,不一定是web.config
原创不易,转载请声明 bindot
https://www.cnblogs.com/bindot/
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 我在厂里搞 wine 的日子
· 如何通过向量化技术比较两段文本是否相似?
· 35+程序员的转型之路:经济寒冬中的希望与策略
· JavaScript中如何遍历对象?
· 领域模型应用
· 独立项目运营一周年经验分享
· 一款开源免费、通用的 WPF 主题控件包
· 独立开发,这条路可行吗?
· 【定时任务核心】究竟是谁在负责盯着时间,并在恰当时机触发任务?
· 解决了AI聊天的10个痛点后,我又做了一个新功能:交叉分析表