日志不打印,求大神指点

图片说明,,最近做一个java应用,日志是slf4j+log4j,如图获取到logger,然后打印日志,现在问题是,这段代码在main方法中可以正常打印,如过打成jar包后,程序正常,但日志不打印了,什么情况,望大神指点,谢谢

4个回答

找到log4j的配置文件,看看日志输出到那个目录下面了

qq_34365559
qq_34365559 问题解决,不能放jar里,获取logger前加一句PropertyConfigurator.configure(System.getProperty("user.dir") + "/conf/log4j.Properties");,然后放哪里就ok了,谢谢大神
3 年多之前 回复
LZW190
2020回归技术 回复qq_34365559: 把log.properties和jar包放同一个目录下试试
3 年多之前 回复
qq_34365559
qq_34365559 回复很久没写程序: 我感觉是程序读不到jar里的log.properties
3 年多之前 回复
qq_34365559
qq_34365559 回复很久没写程序: 放下面了
3 年多之前 回复
LZW190
2020回归技术 回复qq_34365559: 把log4j的配置发来看看
3 年多之前 回复
qq_34365559
qq_34365559 就是不输出的问题,我让他输出到d盘下,main方法下,d盘有.log。运行jar包就没了,控制台也不输出
3 年多之前 回复

应该是打成jar包后,配置文件找不到,查一下你的jar包资源路径

qq_34365559
qq_34365559 问题解决了,谢谢大神
3 年多之前 回复
qq_34365559
qq_34365559 打成jar包是bin目录打成jar,com里是class文件,com同级是log配置文件,这样对嘛
3 年多之前 回复

【补充】对了还有 个情况就是 servlet的init方法里运行也是不打印的,main里就正常

设置

log4j.rootLogger = debug,stdout,D,E

输出信息到控制抬

log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

输出DEBUG 级别以上的日志到=D://logs/debug.log

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.file.DatePattern='-'yyyy-MM-dd

log4j.appender.D.File = D:/logs/debug.log
log4j.appender.D.Append = true
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

输出ERROR 级别以上的日志到=D://logs/error.log

log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =D:/logs/error.log
log4j.appender.E.Append = true
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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问