Eclipse의 log4j 콘솔은 로그를 표시하지 않습니다. 구성은 다음과 같습니다.
#------------------ ?
#
log4j.rootLogger=INFO, stdout ?
log4j.logger.com.ibatis = 디버그 ?
log4j.logger.com.ibatis.common.jdbc .SimpleDataSource = 디버그 ?
log4j.logger.com.ibatis.common.jdbc.ScriptRunner = 디버그 ?
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = 디버그 ?
log4j.logger.java.sql.Connection = DEBUG ?
log4j.logger.java.sql.Statement = DEBUG ?
log4j. .sql.PreparedStatement = DEBUG?
log4j.logger.java.sql.ResultSet = INFO ?
log4j.appender.stdout=org.apache.log4j.ConsoleAppender ? >
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout?
1. 실행 중인 VM의 매개변수에 -Dlog4j.debug를 추가하여 log4j의 테스트 정보를 출력합니다.
2. 또는 VM 매개변수에 log4j 구성 파일 주소를 강제로 추가합니다.?-Dlog4j.configuration=log4j-
config_folder/log4j.xml
일반적으로 첫 번째 단계를 통해 원인을 찾은 후 상황에 따라 해결해야 합니다.
매개변수 추가 방법:
실행/디버그를 사용하는 경우
마우스 오른쪽 버튼 클릭 ->실행/디버그 아래에는 실행 구성/디버그 구성이 있습니다.->(x)=인수
s->아래에는 VM 인수가 있습니다. 매개변수를 추가하고 적용을 선택하세요. 그리고 실행/디버그합니다.
2. myeclipse를 사용하는 경우 Tomcat->Tomcat n.x->JDK->Optional Java VM?
인수
원본 텍스트:/questions/3501355/log4j-output-not-displayed-in-
eclipse-console
어떤 이유로 내 Eclipse 콘솔에 더 이상 Log4j INFO 및 DEBUG가 표시되지 않습니다.
JUnit 테스트를 실행할 때의 진술입니다. 코드 측면에서는 아무런 변화도 없었습니다.
이클립스 구성과 관련이 있는 것 같습니다.
유닛 테스트에서 수행하는 작업은 다음과 같습니다. 어떤 이유로 ERROR?
문만 Eclipse 콘솔에 표시됩니다. 이유는 무엇입니까?
public class SampleTest
{?private static final Logger LOGGER = Logger.getLogger(SampleTest.class);
@Before
public void init()에서 예외 발생
{?// Log4J junit 구성.
BasicConfigurator.configure();
LOGGER.info("INFO TEST");
LOGGER.debug("DEBUG TEST");
LOGGER.error("ERROR TEST");}}
세부정보:
log4j -1.2 .6.jar
junit-4.6.jar Eclipse
Java 개발자용 IDE, 버전: Helios 릴리스, 빌드 ID: 20100617-1415
java ?eclipse ?junit?log4j
share|이 질문을 개선하세요edited? 17 aug '10 at
10:21leppie68.9k8106203asked? 17 aug '10 at 10:11javaExpert1242210
1?이미 답변을 얻으셨나요? 거의 모든 가능한 솔루션이 설명되어 있습니다.
도움이 되었는지 흥미로울 것입니다. >댓글 추가
답변 11개
활성?가장 오래된?투표
찬성 투표?1
1? 반대 투표
Eclipse에서 구성 실행으로 이동한 다음 -VM 인수에 다음을 추가합니다. -
Dlog4j.configuration=log4j-config_folder/log4j.xml
log4j-config_folder를 log4j.xml이 있는 폴더 구조로 바꾸시겠습니까?
파일
share|이 답변을 개선하시겠습니까? 17 aug. '102010-08-17 12:24Huzi--- Javiator51945
제안해 주셔서 감사합니다. 그래도 약간 짜증이 나긴 하지만요.
두 가지 이유: 1) BasicConfigurator.configure()를 사용하면 어떨까 생각했습니다. 그럴 필요는 없었나요?
log4j.properties가 필요하지 않았습니다. 2) 간단한 JUnit 테스트를 실행할 때 그냥 바로 실행하고 싶나요?
클릭하고 "실행"하지 않아도 됩니다. 구성을 정의하기 위해 원래 테스트를 다시 시도했지만?
Eclipse의 어딘가에 정의된 일부 변수를 사용하고 있는지 확인하기 위해 다음 행을 추가했습니다
: System.out. println(System.getProperty("log4j.configuration")); 그런데
out "null"이 인쇄됩니다 –?javaExpertAug 17 '10 at 13:50hmmm.. 흥미롭네요.. 나중에 다시 연락드리겠습니다 –
Huzi--- Javiator? 18 aug '10 at 8:59
댓글 추가
찬성 투표?8?비추천
?log4j.properties?또는?log4j.xml?파일에서 로그 수준을 확인하세요. 아마도
?DEBUG
share|improve 대신?ERROR?로 설정되어 있을 것입니다. 답변이요?Aaron Digulla153k36236405
1?답글을 보내주셔서 감사합니다. Aaron. log4.properties를 확인했는데 INFO로 설정되어 있습니다. 이제 DEBUG로 변경했지만 아무런 차이가 없나요?
log4j.rootLogger=DEBUG
, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%t:%d{ddMMMyy HH:mm:ss.SSS}
%-5p (%F:%L) %m%n –?javaExpert ?17 aug '102010-08-17 10:2310?-Dlog4j.debug?를
VM 환경 시작 속성에 추가하여 log4j가 디버깅 정보를 인쇄하도록 합니다. -
아마도 다른 log4j 구성 파일이 의도한 것보다 클래스 경로(예:
JAR 내에 번들로 포함된 파일)에서 선택되고 있습니다. @javaExpert: 이 경우 클래스 경로 어딘가에서 다른 log4j.properties를 찾으세요. JAR도 살펴보세요! –?Aaron Digulla?17 aug. >
댓글 추가
찬성 투표?5?비추천
한 가지 주의할 점은 클래스 경로에 log4j.properties 파일이 있는 경우에는 그렇지 않다는 것입니다.
BasicConfigurator를 호출해야 합니다. 속성 파일을 구성하는 방법에 대한 설명은
여기에 있습니다.
실행을 시도하면 IDE가 문제를 일으키는지 정확히 알 수 있습니다. 이 클래스는
클래스 경로에 log4j.jar 및 log4j.properties가 있는 명령줄에서 실행됩니다.