通过代码或者配置文件 对log4net进行配置
2023-09-11 14:14:22 时间
1.通过代码进行配置
1.1代码
public class Logger { public static void Setup() { Hierarchy hierarchy = (Hierarchy) LogManager.GetRepository(); PatternLayout patternLayout = new PatternLayout(); patternLayout.ConversionPattern = "%date [%thread] %-5level %logger - %message%newline"; patternLayout.ActivateOptions(); RollingFileAppender roller = new RollingFileAppender(); roller.AppendToFile = false; roller.File = @"Logs\EventLog.txt"; roller.Layout = patternLayout; roller.MaxSizeRollBackups = 5; roller.MaximumFileSize = "1GB"; roller.RollingStyle = RollingFileAppender.RollingMode.Size; roller.StaticLogFileName = true; roller.ActivateOptions(); hierarchy.Root.AddAppender(roller); MemoryAppender memory = new MemoryAppender(); memory.ActivateOptions(); hierarchy.Root.AddAppender(memory); hierarchy.Root.Level = Level.Info; hierarchy.Configured = true; } }
1.2代码调用
1.2.1 在程序启动的时候,调用 Logger.Setup();
1.2.2 输出日志
private static void Application_ThreadException(object sender,ThreadExceptionEventArgs e) { var logger = LogManager.GetLogger(sender.GetType()); logger.Error("Error", e.Exception); MessageBox.Show(e.Exception.Message); }
2.通过配置文件进行配置
2.1配置文件内容
<configSections> <section name ="log4net" type ="System.Configuration.IgnoreSectionHandler"/> </configSections> <log4net> <appender name="errorAppender" type="log4net.Appender.RollingFileAppender"> <filter type="log4net.Filter.LevelMatchFilter"> <levelToMatch value="ERROR" /> </filter> <filter type="log4net.Filter.DenyAllFilter" /> <File value="Logs\err.log" /> <PreserveLogFileNameExtension value="true" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <datePattern value="yyyyMMdd" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> </appender> <appender name="infoAppender" type="log4net.Appender.RollingFileAppender"> <filter type="log4net.Filter.LevelMatchFilter"> <levelToMatch value="INFO" /> </filter> <filter type="log4net.Filter.DenyAllFilter" /> <File value="Logs\info.log" /> <PreserveLogFileNameExtension value="true" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <datePattern value="yyyyMMdd" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> </appender> <appender name="debugAppender" type="log4net.Appender.RollingFileAppender"> <filter type="log4net.Filter.LevelMatchFilter"> <levelToMatch value="DEBUG" /> </filter> <filter type="log4net.Filter.DenyAllFilter" /> <File value="Logs\debug.log" /> <PreserveLogFileNameExtension value="true" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <datePattern value="yyyyMMdd" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> </appender> <appender name="perfAppender" type="log4net.Appender.RollingFileAppender"> <filter type="log4net.Filter.LevelMatchFilter"> <levelToMatch value="INFO" /> </filter> <filter type="log4net.Filter.DenyAllFilter" /> <File value="Logs\perf.log" /> <PreserveLogFileNameExtension value="true" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <datePattern value="yyyyMMdd" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date %logger - %message%newline" /> </layout> </appender> <root> <level value="ALL" /> <appender-ref ref="errorAppender" /> <appender-ref ref="infoAppender" /> <appender-ref ref="debugAppender" /> </root> <logger name="Performance" additivity="false"> <level value="ALL" /> <appender-ref ref="perfAppender" /> </logger> </log4net>
2.2代码调用
http://www.cnblogs.com/chucklu/p/4359582.html
需要注意
XmlConfigurator.Configure();这个不带参数的用法,需要研究一下
相关文章
- ARM 汇编基础教程番外篇 ——配置实验环境
- 如何对fluentd的配置文件进行调试?确保实时看到配置的效果?
- ubuntu server samba服务器配置
- 详解win11系统的硬件最低配置要求
- Mysql数据库优化配置文件my.ini文件配置解释
- springboot的外部化配置及配置文件加载顺序
- Redis第十六讲 Redis安装配置与Conf配置文件讲解
- Tomcat配置 设置启动参数,点击startup.bat启动
- linux系统下nginx安装目录和nginx.conf配置文件目录
- vue cli3使用官方方法配置sass全局变量报错ValidationError: Invalid options object. Sass Loader has been initialised using an options object that does not match the API schema.
- Nginx与服务器集群在它的配置文件中的配置
- CentOS 7 安装配置带用户认证的squid代理服务器
- ./configure 交叉编译库时所最常用到的配置
- windows下mysql配置,my.ini配置文件
- 浅析Nginx配置获取客户端真实IP的proxy_set_header、X-Real-IP、$remote_addr、X-Forwarded-For、$proxy_add_x_forwarded_for分别是什么意思
- 浅析mybatis懒加载执行时机、配置方式以及懒加载未生效的原因
- SpringBoot配置加载,各配置文件优先级对比
- Socorro Crash管理系统配置
- 读取配置文件异常,配置系统未能初始化
- STM32-串口通信波特率计算以及寄存器的配置详解
- 在SpringBoot shiro的相关配置文件中加入如下Remember me管理器配置: