我一直在处理eclipse中的一个java项目,该项目通过一个批处理文件运行,并使用log4j。使用log4j.properties文件和使用筛选器的自定义级别,以便仅将该级别写入该级别的日志文件。它运行得很好。
然后我对我的项目进行了美化,将log4j.properties文件放在src/main/resources/中。程序运行得很好,但是日志都乱七八糟。筛选器不再受到重视,因此日志文件具有来自其上的每个自定义级别的日志;而不只是该级别。现在这个错误只发生在我通过批处理文件运行它的时候。如果我编译并运行日志,日志就能正常工作。
批处理文件中的CLASSPATH变量包含所有jar文件和target/classes中的所有类。
我不知道该怎么做,也不知道问题出在哪里,所以任何帮助或建议都将不胜感激。
发布于 2021-04-13 02:34:19
我不认为行为表明类路径上没有log4j.properties。如果没有这样的文件,log4j不会初始化(除非通过代码告知)。未初始化的log4j只会发出一条未初始化的消息-之后应用程序会运行,但不会发生日志记录。
您所描述的行为表明,类路径上可能存在比您预期的更多的 log4j.properties。请注意,这是正常的法律情况,您可能希望检查类路径内容(按照指定的顺序),以查看是否存在这样的文件,以及它是否包含预期的内容。
https://stackoverflow.com/questions/20498122
复制相似问题