log4j不同的类输出到不同的日志文件中
来源:互联网 发布:淘宝网开店卖什么好 编辑:程序博客网 时间:2024/05/29 11:46
1、log4j简介
Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。
loggers
Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度,明白这一点很重要,Log4j有一个规则:只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出。
Appenders
禁用和使用日志请求只是Log4j的基本功能,Log4j日志系统还提供许多强大的功能,比如允许把日志输出到不同的地方,如控制台(Console)、文件(Files)等,可以根据天数或者文件大小产生新的文件,可以以流的形式发送到其它地方等等。
常使用的类如下:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
配置模式:
log4j.appender.appenderName = className
log4j.appender.appenderName.Option1 = value1
…
log4j.appender.appenderName.OptionN = valueN
2、 Maven引入
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.3</version> </dependency>
3、详细配置
日志文件:log4j.properties
log4j.rootLogger=DEBUG,consolelog4j.logger.test =DEBUG,testlog4j.logger.test1 =DEBUG,test1log4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.threshold=INFOlog4j.appender.console.layout=org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%nlog4j.appender.test=org.apache.log4j.RollingFileAppenderlog4j.appender.test.Append=truelog4j.appender.test.File=./td-test/test.loglog4j.appender.test.Threshold=INFOlog4j.appender.test.layout=org.apache.log4j.PatternLayoutlog4j.appender.test.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%nlog4j.appender.test.MaxFileSize=10MBlog4j.appender.test.file.MaxBackupIndex=3log4j.appender.test.File.Encoding = UTF-8log4j.appender.test1=org.apache.log4j.RollingFileAppenderlog4j.appender.test1.Append=truelog4j.appender.test1.File=./td-test/test1.loglog4j.appender.test1.Threshold=INFOlog4j.appender.test1.layout=org.apache.log4j.PatternLayoutlog4j.appender.test1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%nlog4j.appender.test1.MaxFileSize=10MBlog4j.appender.test1.file.MaxBackupIndex=3log4j.appender.test1.File.Encoding = UTF-8
4、测试使用
import org.slf4j.Logger;import org.slf4j.LoggerFactory;/** * User: ysl * Date: 2016/10/21 * Time: 18:18 */public class Test { private static final Logger logger1 = LoggerFactory.getLogger("test"); private static final Logger logger2 = LoggerFactory.getLogger("test1"); public static void main(String[] args ) { logger1.info("@@@@@@@@@@@@@@@"); logger2.info("#######################"); }}
5、总结
对于不同类,输出日志到不同的文件,有时候会有这种需求。一方面避免了所有的日志文件都输出到一个文件中导致日志文件过大,不易寻找要寻找的内容。另一方面也可以通过这种方式使得有些日志能够被收集起来,加以统计分析。
- log4j不同的日志输出到不同的文件中
- 用log4j如何使不同的类的日志输出到不同的日志文件中.
- log4j不同的类输出到不同的日志文件中
- log4j日志针对不同的类输出到不同的文件中。
- 使log4j不同level的日志输出到不同文件
- Log4j按级别输出日志到不同的文件
- Log4j按级别输出日志到不同的文件
- Log4j按级别输出日志到不同的文件
- Log4j按级别输出日志到不同的文件
- log4j详解 将指定日志输出到不同的文件中
- log4j日志按分模块和分级输出到不同的文件中去
- log4j将日志按模块输出到不同文件中
- Log4j 不同的包输出到不同的文件
- log4j有针对性的将日志输出到不同文件且不重复输出到root中
- log4j不同业务逻辑输出到不同的log文件
- log4j 不同模块输出到不同的文件
- log4j 不同模块输出到不同的文件
- Log4j2实现不同线程不同级别日志输出到不同的文件中
- 使用Spring配置文件实现事务管理
- 模仿ajax写的简单实现
- 大型网站架构之分布式消息队列
- hdu 1714 RedField
- stm 32 IO重映射
- log4j不同的类输出到不同的日志文件中
- OBS源码分析之render_video处理流程
- ROS 使用stage进行(LaserScan)激光扫描仿真
- 百度地图集成——搜索
- Activity 生命周期、、dialog Activity
- ztree实现表格风格的树状结构
- Scrapy爬虫框架抓取中文结果为Unicode编码,如何转换UTF-8编码的解决办法
- JavaScript中__proto__与prototype的关系
- 浅谈Java容器