我有一个Java项目,它被添加到Web项目的Java构建路径中。
在第一个Java项目中,我将Log4J JAR文件添加到Java,并且由于该项目被添加到Web的Java,JAR文件也自动添加到。
在Web项目上,我有一个Web服务,它实例化Java项目的一个类。这个类有一个简单的Logger,并且工作正常。
现在,我正在尝试创建一个名为log4j.properties的属性文件来配置Logger、Appender和LayoutPattern。
每当我试图调用实例化类的方法时,就会在控制台上得到以下错误:
log4j:错误无法读取配置文件log4j.properties.
我做错了什么?
下面是log4j属性文件:
log4j.rootLogger=DEBUG, CA
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n抱歉,这是个虚惊.
正如我所说的,实例化记录器的类所在的项目是作为定义web服务的主项目的依赖项添加的。
因此,该项目在JAR文件上发布,并使用我提到的所述的解决方案:
PropertyConfigurator.configure(getClass().getProtectionDomain().getCodeSource().getLocation().getPath() +“log4j.properties”;
我得到了一条路,就像:
C:/project_path.jar./log4j.properties。
很明显那些有属性的文件还没找到..。
索里..。还在研究一个解决方案
发布于 2011-06-01 17:58:39
好吧,有时候最明显的答案是你最不期望的答案。
结果,我只需删除PropertyConfigurator.configure(xxx)行,并将log4j.properties文件放在依赖项项目的src文件夹中。
谢谢
发布于 2015-03-13 19:53:07
如果使用log4j 2.x,则需要有一个名为log4j2.xml的文件。
log4j.properties不会这么做的。
发布于 2011-05-30 15:20:08
如果使用未打包的WAR,则将log4j.properties文件放在classes目录中,否则将其放在src文件夹( java类的根文件夹)中。
https://stackoverflow.com/questions/6178029
复制相似问题