Log4Net的入门使用
来源:互联网 发布:网络总攻是什么意思 编辑:程序博客网 时间:2024/06/05 11:29
一 下载Log4Net,找到相应版本的log4net.dll
官方地址是:http://logging.apache.org/log4net/,然后找到下载页面,下载压缩包:
第二步 添加引用
第三步 在配置文件中写参数:(我这里是winform,所以在app.config)
有两种配置方法:1是分等级分别写入不同的日志文件,2是不论什么等级都记录到一块一个日志文件内:
分等级的配置:
<log4net> <appender name ="Info" type="log4net.Appender.RollingFileAppender" > <file value ="Syslog\\"/> <!--file就是规定下目录,比如文中是要放入Syslog文件夹,如果没有程序会自动创建--> <appenderToFile value="true"/> <rollingStyle value="Date"/> <datePattern value="yyyyMM\\yyyyMMdd'.Info'"/> <staticLogFileName value ="false"/> <!--staticLogFileName 是true的话文件名称只按照file值走,如果是false那么是在file值后面加上datepattern值--> <maximumFileSize value ="2MB"/> <MaxSizeRollBackups value="100"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%newline %n记录时间:%d{yyy-MM-dd HH:mm:ss }, %n线程ID:[%thread] %n日志级别: %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%n"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="Info" /> <levelMax value="Info" /> </filter> </appender> <!--一个log4net可以对照多个appender标签,每个appender标签要不同的命名,然后在root里appender-ref对照起来,配置多个appender就可以按照不同等级分类写入到不同文件中--> <appender name="ERROR" type="log4net.Appender.RollingFileAppender"> <file value ="SysLog\\"/> <appendToFile value="true"/> <rollingStyle value="Date"/> <datePattern value="yyyyMM\\yyyyMMdd'.ERROR'"/> <staticLogFileName value ="false"/> <maximumFileSize value="2MB"/> <param name="MaxSizeRollBackups" value="100"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%newline %n记录时间:%d{yyy-MM-dd HH:mm:ss }, %n线程ID:[%thread] %n日志级别: %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%n"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="WARN" /> <levelMax value="FATAL" /> </filter> </appender> <root> <level value="ALL"/> <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF--> <!--比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录--> <appender-ref ref="Info" /> <appender-ref ref="ERROR" /> </root> </log4net>
不论什么等级都记录到一块一个日志文件内:
<log4net> <!--一个log4net可以对照多个appender标签,每个appender标签要不同的命名,然后在root里appender-ref对照起来,配置多个appender就可以按照不同等级分类写入到不同文件中--> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> <file value ="SysLog\\"/> <appendToFile value="true"/> <rollingStyle value="Date"/> <datePattern value="yyyyMM\\yyyyMMdd'.ERROR'"/> <staticLogFileName value ="false"/> <maximumFileSize value="2MB"/> <param name="MaxSizeRollBackups" value="100"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%newline %n记录时间:%d{yyy-MM-dd HH:mm:ss }, %n线程ID:[%thread] %n日志级别: %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%n%message%n"/> </layout> </appender> <root> <level value="ALL"/> <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF--> <!--比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录--> <appender-ref ref="RollingFileAppender" /> </root> <logger name="Logging"> </logger> </log4net>
注意:filter标签可以设置level等级,多个或一个appender就靠它来区分了。然后在在 app.config 的<configSections>标记中添加:
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>第四步:在\Properties\AssemblyInfo.cs中添加监视:
[assembly: log4net.Config.XmlConfiguratorAttribute(Watch = true)]
第五步:根据需要自定义一个类做辅助:枚举一下:
class Syslog { public enum Level //这里等级根据需要枚举 { Debug, Info, Warn, Error, Fatal } private static log4net.ILog ILog = log4net.LogManager.GetLogger("Logging"); public static void Register( Level Level,Type t, Exception ex )//这里也可以使用string ;Type 根据自己需要 { if (Level != null) { switch (Level) { case Level.Debug: ILog.Debug(t, ex ); break; case Level.Info: ILog.Info(t, ex); break; case Level.Warn: ILog.Warn(t, ex); break; case Level.Error: ILog.Error(t, ex); break; case Level.Fatal: ILog.Fatal(t, ex); break; } } } }
效果:如何归类方便就根据自己需要进行配置参数就行。
附:
日志的等级,它们由高到底分别为:
OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL ,向上兼并,比如写info那么debug就不会再生效,写off全不报,写all都报
等级程度介绍(摘抄的):
FATAL(致命错误):记录系统中出现的能使用系统完全失去功能,服务停止,系统崩溃等使系统无法继续运行下去的错误。例如,数据库无法连接,系统出现死循环。
ERROR(一般错误):记录系统中出现的导致系统不稳定,部分功能出现混乱或部分功能失效一类的错误。例如,数据字段为空,数据操作不可完成,操作出现异常等。
WARN(警告):记录系统中不影响系统继续运行,但不符合系统运行正常条件,有可能引起系统错误的信息。例如,记录内容为空,数据内容不正确等。
INFO(一般信息):记录系统运行中应该让用户知道的基本信息。例如,服务开始运行,功能已经开户等。
DEBUG (调试信息):记录系统用于调试的一切信息,内容或者是一些关键数据内容的输出。
也是在跟帖学习的,感谢:
http://www.cnblogs.com/jiajinyi/p/5884930.html
阅读全文
0 0
- Log4Net的入门使用
- Log4net入门使用(转)
- Log4net入门使用
- log4net使用入门
- Log4net入门使用
- Log4net入门使用
- Log4net入门使用
- Log4net的配置使用
- Log4net的配置使用
- log4net的使用
- LOG4NET的使用
- Log4net的使用
- log4net的初使用
- Log4net的使用
- Log4Net的使用
- log4net的配置使用
- Log4Net的使用
- Log4Net的配置使用
- 密码文件和用户组管理
- laravel开启cors
- 群贤毕至 共襄盛会:日知录企业存储峰会嘉宾介绍
- Android各版本代号、版本号、API/NDK级别、发布时间
- 【状压DP】51Nod 1779 逆序对统计
- Log4Net的入门使用
- js获取元素下所有子元素总宽度赋值给父元素
- 【深度学习】Batch Normalization
- apache和tomcat的区别
- Java中Synchronized的用法
- 大话设计模式——适配器模式
- sqlmap
- 微信红包的随机逻辑源码
- 关于差分约束的问题