Log4j学习笔记
1、简介
Log4j是高度可卑职的日志框架,对外提供统一接口,内部则可集成各种常用的日志实现组件。它按照优先级别记录日志,并可将日志信息定向输出到各种介质,比如数据库、文件、控制台、Unix syslog等。
2、Log4j组成
- loggers:负责采集日志;
- appenders: 负责将日志信息发布到不同地方;
- layouts:负责格式化日志信息。
3、分层架构
- 核心对象:框架必备的对象,包括Logger\Layout\Appender对象;
- 支持对象:框架的可选对象,包括Level\Filter\ObjectRenderer\LogManager;
Log4j框架的组件图:
日志配置
配置文件是log4j.properties;
配置中主要指明Level\Appender\Layout;默认情况下,LogManager会在classpath查找log4j.properties文件。
根日志配置
Log4j.rootLogger= [ level ] , appenderName1, appenderName2, … //日志级别、日志输出目的地;
各个目的地配置
Log4j.appender.appenderName=org.apache.log4j.DailyRollingFileAppender
Log4j.appender.appenderName.file=${LOG_BASE}/log.log
Log4j.appender.appenderName.layout=org.apache.log4j.PatternLayout
Log4j.appender.appenderName.layout.conversionPattern=%d %-5p %t %c %m%n
Log4j.appender.appenderName.threshold=ERROR
Log4j.appender.appenderName.encoding=UTF-8
4、扩展
- 通过扩展 Layout类可以改变日志格式;
- 通过实现Appender接口可改变输入日志的目的和策略;