


-
[武汉|结业弟子]JAVA-柯诗阳
0首先看你的报错
1.log4j:WARN No appenders could be found for logger (srevice. PersonDaoImpl).
没有找到log4j程序,也就是说你的配置文件没有生效
2.log4j:WARN Please initialize the log4j system properly.
log4j:WARN请正确初始化log4j系统。
解决方法:
1.重新配置log4j文件
注意后缀是log4j.properties
2.在程序中加入
# Configure logging for testing: optionally with log file
log4j.rootLogger=WARN, stdout
# log4j.rootLogger=WARN, stdout, logfilelog4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%nlog4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n3.使用log4j2
log4j现在已经被抛弃了,推荐使用log4j2,不要死磕
附上我的log4j.properties
###设置输出的等级为debug,低于debug就不会输出了###
###日志输出到三个地方,stdout,D,E 下面的配置文件与之对应
log4j.rootLogger = debug,stdout,D,E
###第一个地方stdout,输出信息到控制台###
###ConsoleAppender的源码翻译是###
###ConsoleAppender使用用户指定的布局将日志事件附加到
###<code>System.out </ code>或<code> System.err </ code>。###
### 默认目标是<code> System.out </ code>。###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
###指定输出目标###
log4j.appender.stdout.Target = System.out
###指定布局模式###
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
###%c 输出日志信息所属的类的全名###
### %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28###
### %f 输出日志信息所属的类的类名###
### %l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行###
### %m 输出代码中指定的信息,如log(message)中的message###
### %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”###
### %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推###
### %r 输出自应用启动到输出该日志信息所耗费的毫秒数###
### %t 输出产生该日志事件的线程名###
###所以这里的对应的意思就是 - [%宽度是5的优先等级] %时间{年-月-日 时-分-秒-毫秒} method:%日志发生位置%换行%指定信息%换行符###
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 第二个地方D,输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
###指定位置###
log4j.appender.D.File = E://logs/log.log
###Log4j默认是不断的把日志内容追加到日志文件;###
###这里就有个属性 Append 默认就是true;###
###假如我们设置成false 就不追加了 直接覆盖前面的内容;###
log4j.appender.D.Append = true
###指定级别为debug以上###
log4j.appender.D.Threshold = DEBUG
###指定布局模式###
log4j.appender.D.layout = org.apache.log4j.PatternLayout
###所以这里的对应的意思就是 %时间{年-月-日 时-分-秒} [%线程名:%毫秒数] - [%优先级] %指定信息%换行符
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 第三个地方E,输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
###指定位置###
log4j.appender.E.File =E://logs/error.log
log4j.appender.E.Append = true
###指定级别为error以上###
log4j.appender.E.Threshold = ERROR
###指定布局模式###
log4j.appender.E.layout = org.apache.log4j.PatternLayout
###所以这里的对应的意思就是 %时间{年-月-日 时-分-秒} [%线程名:%毫秒数] - [%优先级] %指定信息%换行符
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n编辑于2019-08-03
- 去第 页