java properties在哪_我应该在哪里放置log4j.properties文件?

问题

我使用netbeans 6.7.1和glassfish v2.1编写了一个Web服务项目,将log4j.properties放到项目的根目录并使用:

static Logger logger = Logger.getLogger(MyClass.class);

在构造函数中:

PropertyConfigurator.configure("log4j.properties");

和功能:

logger.info("...");

logger.error("...");

// ...

但是,它是错误信息(实际上,我试图将它几乎放在我能够实现的每个目录上):

log4j:ERROR Could not read configuration file [log4j.properties].

java.io.FileNotFoundException: log4j.properties (The system cannot find the file specified)

at java.io.FileInputStream.open(Native Method)

at java.io.FileInputStream.(FileInputStream.java:106)

at java.io.FileInputStream.(FileInputStream.java:66)

at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:297)

at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:315)

at com.corp.ors.demo.OrsDemo.main(OrisDemo.java:228)

log4j:ERROR Ignoring configuration file [log4j.properties].

log4j:WARN No appenders could be found for logger (com.corp.ors.demo.OrsDemo).

log4j:WARN Please initialize the log4j system properly.

#1 热门回答(104 赞)

我知道回答这个问题有点晚了,也许你已经找到了解决方案,但是我发布了我找到的解决方案(在我搜索了很多之后)所以它可能会有所帮助:

将log4j.properties放在项目的WEB-INF \ classes下,如前面在此线程中所述。

将log4j-xx.jar放在WEB-INF \ lib下

测试是否加载了log4j:添加-Dlog4j.debug @ tomcat的java选项的结尾

希望这会有所帮助。

RGDS

#2 热门回答(36 赞)

如前所述,log4j.properties应该在classpath中包含的目录中,我想在mavenized项目中添加一个好地方可以是src/main/resources/log4j.properties

#3 热门回答(25 赞)

你必须将它放在与你的执行上下文相对应的根目录中。

例:

MyProject

src

MyClass.java

log4j.properties

如果从另一个项目开始执行,则需要在用于启动执行的项目中包含该文件。例如,如果一个不同的项目包含一些JUnit测试,则它还需要具有log4j.properties文件。

我建议使用log4j.xml而不是log4j.properties。你有更多选择,从IDE获得帮助等等......

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值