glassfish v2.1과 함께 netbeans 6.7.1을 사용하여 웹 서비스 프로젝트를 작성하고 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.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(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.
예제 프로젝트는 http://www.91files.com/?N3F0QGQPWMDGPBRN0QA8 에서 얻을 수 있습니다 .
답변
나는이 질문에 대답하는 것이 약간 늦었고 이미 해결책을 찾았을 수도 있지만, 내가 많이 찾은 후에 찾은 해결책을 게시하고 있으므로 약간 도움이 될 수 있습니다.
- 이 스레드에서 이전에 언급 한대로 프로젝트의 WEB-INF \ classes 아래에 log4j.properties를 두십시오.
- WEB-INF \ lib 아래에 log4j-xx.jar을 넣으십시오.
- log4j 가로 드되었는지 테스트 :
-Dlog4j.debug
Tomcat의 Java 옵션 끝에 @ 추가
이것이 도움이되기를 바랍니다.
rgds
답변
이미 언급했듯이 log4j.properties는 클래스 경로에 포함 된 디렉토리에 있어야합니다. 나는 mavenized 프로젝트에서 좋은 장소가 될 수 있다고 덧붙이고 싶습니다. src/main/resources/log4j.properties
답변
VM 인수 -Dlog4j.configuration = “file : / C : /workspace3/local/log4j.properties”를 사용하여 구성 파일 위치를 지정할 수 있습니다.
답변
실행 컨텍스트에 해당하는 루트 디렉토리에 저장해야합니다.
예:
MyProject
src
MyClass.java
log4j.properties
다른 프로젝트에서 실행을 시작하면 실행을 시작하는 데 사용 된 프로젝트에 해당 파일이 있어야합니다. 예를 들어, 다른 프로젝트에 일부 JUnit 테스트가있는 경우 log4j.properties 파일도 있어야합니다.
log4j.properties 대신 log4j.xml을 사용하는 것이 좋습니다. 더 많은 옵션이 있으며 IDE에서 도움을 받으십시오 …
답변
Maven 기반 프로젝트의 경우 src / main / resources에 log4j.properties를 유지하십시오. 할 일이 없습니다!
답변
src에 log4j.properties를 넣으면 다음 명령문을 사용할 필요가 없습니다.
PropertyConfigurator.configure("log4j.properties");
특성 파일이 클래스 경로에 있으면 자동으로 가져옵니다.
답변
시험:
PropertyConfigurator.configure(getClass().getResource("/controlador/log4j.properties"));