是什么
:apache 开源的日志输出项目
干什么:
可以通过xml配置文件配置程序日志,可以控制日志的输出格式,级别,控制日志的生成过程
肿么弄
步骤
1:导入log4j-版本-.jar包
2:写配置文件 log4j.properties
配置文件肿么写:
配置文件分成了3部分: ① logger:是什么:日志记录器,是核心组件 (作用:就是写日志的)
如何配置: log4j.logger.[loggername]=[loggerlevel],appendrname,…,
汉语意思:log4j.名称= 等级,输出目标名称(见配置文件第二部分)
eg: log4j.logger.testlogger=debug,fileappdener
解释:定义一个叫testlogger的日志记录器,级别为debug,输出appender目标为 fileappender
写日志分级别: 级别分为5类 (等级低的会输出等级高的日志)(开发过程用debug)
①debug:调剂级别的日志,等级最低,输出最全:logger.debug(Object Manger);
②info:输出消息日志 ,等级高与debug:
③warn:输出警告级别的日志,高于info
④error:输出错误级别的日志,高于warn
⑤fatal:输出致命级别的日志,高于error
注意:包含了rootLogger为系统自带的 是所有自定义日志记录器的父类, 实现之后子类默认集成.
eg:log4j:rootLogger=WARN,consolr
②:Appender:是什么:是日志输出目标:
干什么:用于指定输出位置,实现appender接口,将日志输出到不同地方
肿么用:log4j.appender.testAppender=org.apache.log4j.ConsoleAppender
中文解释:log4j.appender.名称=接口实现类
常用接口实现类:
①org.apache.log4j.ConsoleAppender: 输入日志到控制台
②org.apache.log4j.FileAppender:输入日志到文件
③org.apache.log4j.DailyRollingFileAppender:每天只生成一个文件
④org.apache.log4j.RollingFileAppender:当文件超过限制时,重新生成新的日志文件.可以设置日志文件的备份数量
⑤org.apache.log4j.net.SMTPAppender:当特定的日志事件发生时,发送邮件.
eg:log4j.appdender.testAppender=org.apache.log4j.RollingFileAppender;: 设置类型为文件超过限制时,
log4j.appender.testAppender.File=c:\log.htm 😒 :文件目录地址
log4j.appender.testAppender.MaxFileSize= 10kb :文件大小
log4j.appender.testAppender.MaxBackIndex=3 :最多生成数量.超出部分会把就得替换掉
③Layout: 定义日志输出的格式: 可以分为 文本文件,html文件,邮件,网络套接字.
可以分为以下几种.
- org.apache.log4j.HTMLLayout :将日志以html格式布局输出
eg:log4j.appender.testAppender.layout=org.apache.log4j.HTMLLayout - org.apache.log4j.PatternLayout:将日志以指定格式输出
eg:log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.testAppender.layout.ConversionPattern=%t %p-%m%n
转换字符 | 描述 |
---|---|
%c | 日志名称 |
%C | 日志操作所在类的名称 |
%d | 产生日志的时间和日期 |
%F | 日志操作类所在的源文件名称 |
%L | 只包含日志操作所在源代码的行号 |
%m | 除了输出日志信息外,不包含任何信息 |
%M | 只输出日志操作的代码所在的源文件的方法名 |
%n | 日志中的换行符 |
%p | 以大写格式输出日志的级别 |
%r | 产生日志所耗费的时间 |
%t | 输出日志信息的线程名称 |
%% | 输出%符号 |
- org.apache.log4j.SimpleLayout:以非常简单的方式格式化输出
- org.apache.log4j.TTCCLayout:这种事包含日志的线程,级别,日志名称等.