gpt4 book ai didi

java - log不能写入日志文件,但可以写入控制台

转载 作者:行者123 更新时间:2023-12-01 13:42:47 25 4
gpt4 key购买 nike

我的项目 log4j.properties 在类路径中但是当我使用 mvn assembly: assembly a *.tar.gz然后 tar xvf x.tar.gz

java -cp lib/*:. Test.main

日志输出到控制台,不输出到log4j.properites赋值日志文件。

➜   git:(master) ✗ ls -al lib/*log*
-rw-r--r-- 1 fuyou staff 60686 8 12 16:47 lib/commons-logging-1.1.1.jar
-rw-r--r-- 1 fuyou staff 367444 8 1 08:47 lib/log4j-1.2.14.jar
-rw-r--r-- 1 fuyou staff 20573 12 5 10:10 lib/logging-1.0.jar
-rw-r--r-- 1 fuyou staff 10792 8 1 08:47 lib/logstat-client-1.0.2.jar
-rw-r--r-- 1 fuyou staff 23786 8 1 08:47 lib/logstat-common-1.0.1.jar
-rw-r--r-- 1 fuyou staff 8869 9 4 15:28 lib/slf4j-log4j12-1.7.5.jar
➜ git:(master) ✗ ls -al lib/*slf*
-rw-r--r-- 1 fuyou staff 26084 8 12 08:40 lib/slf4j-api-1.7.5.jar
-rw-r--r-- 1 fuyou staff 8869 9 4 15:28 lib/slf4j-log4j12-1.7.5.jar
➜ git:(master) ✗ ls -al lib/*jcl-over-slf4j*
zsh: no matches found: lib/*jcl-over-slf4j*
➜ git:(master) ✗ ls -al lib

添加log4j.properties

log4j.rootLogger=info, root
log4j.appender.root=org.apache.log4j.DailyRollingFileAppender
log4j.appender.root.DatePattern='.'yyyy-MM-dd
log4j.appender.root.File=logs/test.log
log4j.appender.root.layout=org.apache.log4j.PatternLayout
log4j.appender.root.layout.ConversionPattern=%d %-5p %c{2} %m%n
log4j.appender.root.Append=true

最佳答案

log4j.properties 是否在类路径上?它需要出现在类路径上的某个位置(最好是在根目录中)。

您可以运行java -cp lib/*:。 -Dlog4j.debug Test.main 查看log4j正在加载哪个配置文件。如果它不是您的 log4j.properties,您可能需要移动您的 log4j.properties 以使 log4j 拾取它。

另一个选择是仅使用java -cp lib/*:。 -Dlog4j.configuration=log4j.properties Test.main(注意我只在 log4j.xml 中使用过它,所以我不能保证它能与 log4j.properties 一起使用)。

关于java - log不能写入日志文件,但可以写入控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20579123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com