导入jar包
导入log4j相关的jar包:log4j.jar、log4j-core.jar、log4j-api.jar
log4j配置
#日志记录的优先级,分为off、fatal、error、warn、info、debug、all或者自定义的级别。
#Log4j建议使用四个级别。优先级从高到底error、warn、info、debug
#配置根Logger
#如果配置为debug,则会打印error、warn、info、debug级别的信息
#如果配置为error,则只会打印error错误级别的信息
log4j.rootLogger =debug,stdout,D
##输出的四种形式:
#org.apache.log4j.ConsoleAppender(控制台)
#org.apache.log4j.FileAppender(文件)
#org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
#org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
### 输出日志的位置:控制台 org.apache.log4j.ConsoleAppender ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
### 用流的方式输出
log4j.appender.stdout.Target = System.out
##输出样式布局 布局模式:包名.类名。 %p:输出级别 %c:包名.类名 %m:输出代码中指定的消息 %L:输出的代码位置(第几行)##
###日志布局
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
###日志内容的编码
log4j.appender.stdout.Encoding = UTF-8
###规则
## 2020-05-09 14:18:16 [INFO]-[com.qf.test.Log4jTest]:11 这是info级别
log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p]-[%c]\:%L %m%n
### 输出到日志文件 :org.apache.log4j.DailyRollingFileAppender ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
###日志文件的路径:当前项目下 当前项目根目录下:/logs/log.log(如果项目在D盘某个文件夹下,则日志文件输出在D盘下)
log4j.appender.D.File =logs/log.log
###日志是否追加
log4j.appender.D.Append = true
##它的作用是输出INFO级别以上的内容到logs/log.log中,所以info.log文件中包含了ERROR级别的文件。
log4j.appender.D.Threshold = INFO
###布局
###org.apache.log4j.HTMLLayout(以HTML表格形式布局)
###org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
###org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
###org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p]-[%c]\:%L %m%n
测试
总结
log4j:日志框架 1)级别:error>warn>info>debug 说明:如果配置了debug,则会打印error、warn、info、debug级别信息,如果配置了error,则只会打印error级别信息。 2)开发阶段用debug,线上用info 3)在web项目中: 一般我们直接将log4j.properties放置在src目录下(resource),这样系统自动会去resource下找,其实就是放在WEB-INF/classes文件下。这个路径在classpath下,所以直接就能找到。 如果现在我们想把log4j.properties文件放置在其它目录下,例如:放在src目录的resource目录的properties目录下。这时候就需要我们手动指定log4j配置文件的路径,否则系统是找不到的。