一:Log4j
有三个主要组件:loggers、appenders和layouts。这三个组件协同工作,使开发
人员能够根据消息类型和级别来记录消息,并且在程序运行期控制消息的输出格式位置。
-
Logger:日志记录器
Logger负责处理日志记录的大部分操作。 -
Appender:日志信息的输出目的地
Appender负责控制日志记录操作的输出。
输出端 类型 | 作用 |
ConsoleAppender | 将日志输出到控制台 |
FileAppender | 将日志输出到文件中 |
DailyRollingFileAppender | 将日志输出到一个日志文件,并且每天输出到一个新的文件 |
RollingFileAppender | 将日志信息输出到一个日志文件,并且指定文件的尺寸,当文件大 小达到指定尺寸时,会自动把文件改名,同时产生一个新的文件 |
JDBCAppender | 把日志信息保存到数据库中 |
- Layout:日志格式化器
Layout负责格式化Appender的输出。
格式化器类型 | 作用 |
HTMLLayout | 格式化日志输出为HTML表格形式 |
SimpleLayout | 简单的日志输出格式化,打印的日志格式为(info - message) |
PatternLayout | 最强大的格式化期,可以根据自定义格式输出日志,如果没有指定转换格式,就是用默认的转换格式 |
日志级别:DEBUG<INFO<WARN<ERROR<FATAL
二:配置文件
#log4j.rootLogger = [ level ] , appenderName, appenderName, …
#把指定级别以上的日志信息输出到指定的一个或者多个位置
#1.虽然罗列了很多级别 , 但log4j推荐只使用四个级别 , 优先级从高到低分别是ERROR , WARN , INFO , DEBUG ;
#2.appenderName指的是日志输出的地址 , 可以同时指定n个 ;
#3.stdout类似于变量名,可以自定义名称,可以用这东西进行控制台或者文件的输出
log4j.rootLogger=DEBUG, stdout
#输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#灵活的指定布局模式 , 需要配置layout.ConversionPattern属性
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#日志的输出格式
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n