开源项目 13 Log4net
2023-09-11 14:22:27 时间
原文:https://www.cnblogs.com/pudefu/p/9300697.html
官方的api:
http://logging.apache.org/log4net/release/sdk/index.html
http://logging.apache.org/log4net/
demo下载地址:
https://files.cnblogs.com/files/guxingy/log4net%E7%AE%80%E5%8D%95%E6%B5%8B%E8%AF%95.rar
环境:vs2019打开即可
照着做基本没问题,另一个配置文件 格式要友好些
<?xml version="1.0" encoding="utf-8" ?> <configuration> <log4net> <!-- Debug 将日志以回滚文件的形式写到文件中 --> <appender name="RollingFileDebug" type="log4net.Appender.RollingFileAppender" > <!-- 日志文件存放位置,可以为绝对路径也可以为相对路径 --> <file value="App_Data/" /> <!-- 日志文件的命名规则 --> <datePattern value="yyyy-MM-dd/'Debug.log'"/> <!-- 将日志信息追加到已有的日志文件中--> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="100" /> <maximumFileSize value="1MB" /> <!-- 指定按日期切分日志文件 --> <rollingStyle value="Date"/> <!-- 当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false --> <staticLogFileName value="false" /> <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 --> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value=" 【日志时间】: %d 【线程ID】: %thread 【日志级别】: %-5p 【日志对象】:%logger 【日志内容】:%m " /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="Debug" /> <param name="LevelMax" value="Debug" /> </filter> </appender> <!-- Info 将日志以回滚文件的形式写到文件中 --> <appender name="RollingFileInfo" type="log4net.Appender.RollingFileAppender" > <!-- 日志文件存放位置,可以为绝对路径也可以为相对路径 --> <file value="App_Data/" /> <!-- 日志文件的命名规则 --> <datePattern value="yyyy-MM-dd/'Info.log'"/> <!-- 将日志信息追加到已有的日志文件中--> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="100" /> <maximumFileSize value="1MB" /> <!-- 指定按日期切分日志文件 --> <rollingStyle value="Date"/> <!-- 当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false --> <staticLogFileName value="false" /> <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 --> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value=" 【日志时间】:%d 【线程ID】:%thread 【日志级别】:%-5p 【日志对象】:%logger 【日志内容】:%m " /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="Info" /> <param name="LevelMax" value="Info" /> </filter> </appender> <!-- WARN 将日志以回滚文件的形式写到文件中 --> <appender name="RollingFileWarn" type="log4net.Appender.RollingFileAppender" > <!-- 日志文件存放位置,可以为绝对路径也可以为相对路径 --> <file value="App_Data/" /> <!-- 日志文件的命名规则 --> <datePattern value="yyyy-MM-dd/'Warn.log'"/> <!-- 将日志信息追加到已有的日志文件中--> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="100" /> <maximumFileSize value="1MB" /> <!-- 指定按日期切分日志文件 --> <rollingStyle value="Date"/> <!-- 当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false --> <staticLogFileName value="false" /> <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 --> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value=" 【日志时间】:%d 【线程ID】:%thread 【日志级别】:%-5p 【日志对象】:%logger 【日志内容】:%m " /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="Warn" /> <param name="LevelMax" value="Warn" /> </filter> </appender> <!-- Error 将日志以回滚文件的形式写到文件中 --> <appender name="RollingFileError" type="log4net.Appender.RollingFileAppender" > <!-- 日志文件存放位置,可以为绝对路径也可以为相对路径 --> <file value="App_Data/" /> <!-- 日志文件的命名规则 --> <datePattern value="yyyy-MM-dd/'Error.log'"/> <!-- 将日志信息追加到已有的日志文件中--> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="100" /> <maximumFileSize value="1MB" /> <!-- 指定按日期切分日志文件 --> <rollingStyle value="Date"/> <!-- 当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false --> <staticLogFileName value="false" /> <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 --> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value=" 【日志时间】:%d 【线程ID】:%thread 【日志级别】:%-5p 【日志对象】:%logger 【日志内容】:%m " /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="Error" /> <param name="LevelMax" value="Error" /> </filter> </appender> <!-- Fatal 将日志以回滚文件的形式写到文件中 --> <appender name="RollingFileFatal" type="log4net.Appender.RollingFileAppender" > <!-- 日志文件存放位置,可以为绝对路径也可以为相对路径 --> <file value="App_Data/" /> <!-- 日志文件的命名规则 --> <datePattern value="yyyy-MM-dd/'Fatal.log'"/> <!-- 将日志信息追加到已有的日志文件中--> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="100" /> <maximumFileSize value="1MB" /> <!-- 指定按日期切分日志文件 --> <rollingStyle value="Date"/> <!-- 当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false --> <staticLogFileName value="false" /> <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 --> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value=" 【日志时间】:%d 【线程ID】:%thread 【日志级别】:%-5p 【日志对象】:%logger 【日志内容】:%m " /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="Fatal" /> <param name="LevelMax" value="Fatal" /> </filter> </appender> <root> <!--控制级别,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF 比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录 如果没有定义LEVEL的值,则缺省为DEBUG--> <appender-ref ref="RollingFileDebug" /> <appender-ref ref="RollingFileInfo" /> <appender-ref ref="RollingFileWarn" /> <appender-ref ref="RollingFileError" /> <appender-ref ref="RollingFileFatal" /> <level value="DEBUG" /> </root> <logger name="NHibernate"> <level value="WARN" /> </logger> </log4net> </configuration>
效果如图:
测试代码:
相关文章
- 能源项目xml文件标签释义--default-lazy-init
- 历史上最有影响力的10款开源项目
- 常用面试/笔试开源小项目21~30
- 96分布式电商项目 - 项目部署
- 54分布式电商项目 - SpringBoot
- 44分布式电商项目 -solr配置域
- 按照 STAR 法则介绍自己做过的项目
- 网络入侵检测开源项目 Security Onion
- 为什么 StackOverflow 上的代码片段会摧毁你的项目?
- Swift应用开源项目推荐
- macOS 开源完整项目之JSON文件格式转换 支持Realm swift coredata (教程含源码)
- 【Linux项目自动化构建工具 make/Makefile】
- 浅析flex布局被子元素内容撑破的问题 - Flex布局中一个不为人知的特性(flex-item项目的最小尺寸问题)
- JeeSite(1):推荐一个java开源项目 JeeSite
- apache开源项目-- Turbine
- apache开源项目--Mahout
- apache开源项目-- NiFi
- apache开源项目--HttpComponents
- 如何寻找google公司主导的开源项目
- 知识点滴 - 关于项目开发中的任务