IntelliJ에서 테스트를 실행할 때 로그 출력을 구성하는 데 문제가 있습니다.Intellij IDEA의 TestNG에서 테스트를 실행할 때 OpenEJB 로거 구성
내가하는 모든 변화는 효과가없는 것 같습니다.
나는 ApplicationComposer
을 통해 @Module
주석을 사용하여 테스트를 실행합니다. 내가 OpenEJB를 범주에 대한 로그를 해제해야 구성을 설정하지만
@Listeners(ApplicationComposerListener.class)
public class TestLogs {
private static final Logger LOGGER = Logger.getInstance(LogCategory.OPENEJB, TestLogs.class);
@Module
@Classes(cdi=true,value = {
})
public EjbModule ejbModule() throws Exception {
EjbModule ejbModule = new EjbModule(new EjbJar());
System.setProperty("openejb.home", "../../../build/ejbhome");
System.setProperty("openejb.deployments.classpath.include",".*(my_app).*");
System.setProperty("ejb.jndi.name.app", getClass().getSimpleName());
System.setProperty("ejb.jndi.name.module", ejbModule.getModuleId());
System.setProperty("log4j.category.OpenEJB","off");
return ejbModule;
}
@Test
public void testLog_LoggingIsOff() {
LOGGER.info("*********************************************************");
}
}
내가 테스트를 실행
은 와일드 카드를 사용하여 로그 라인은 콘솔에 인쇄됩니다.편집
작업했던 솔루션 :
디버그/실행 구성의 JDK 설정 탭에서 VM 옵션에서 다음과 같은 설정을 제공합니다 (그리고 @JvmParams 어노테이션이 아니라 JuliLogStreamFactory 뒤에로드 됨)
은 설정 파일에 관련 파일 핸들러를 제공 작동하지
handlers = org.apache.openejb.log.FileHandler, java.util.logging.ConsoleHandler .level = INFO org.apache.openejb.log.FileHandler.level = FINE org.apache.openejb.log.FileHandler.directory = logs org.apache.openejb.log.FileHandler.prefix = my_tests_log. org.apache.openejb.log.FileHandler.formatter = java.util.logging.SimpleFormatter java.util.logging.ConsoleHandler.level = SEVERE java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter java.util.logging.SimpleFormatter.format = %1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%1$tL %4$s [location: %2$s] %5$s%6$s%n
물건 :
-
: 나는 로깅을 해제하려고
- 이전 문에서 위/소문자 523,257,775,
- 모든 회선
- 설정 환경
../../../build/ejbhome
에 다음 파일embedded.logging.properties
퍼팅 인 IntelliJRun/Debug configurations
변수 다음과 같은 파일을 퍼팅
log4j.rootLogger = fatal,C log4j.category.OpenEJB = off log4j.category.OpenEJB.server = info log4j.category.OpenEJB.startup = info log4j.category.OpenEJB.startup.service = warn log4j.category.OpenEJB.startup.config = info log4j.category.OpenEJB.hsql = info log4j.category.CORBA-Adapter = info log4j.category.Transaction = warn log4j.category.org.apache.activemq = error log4j.category.org.apache.geronimo = error log4j.category.openjpa = error log4j.appender.C = org.apache.log4j.ConsoleAppender log4j.appender.C.layout = org.apache.log4j.SimpleLayout
이름
log4j.embedded.logging.properties
~../../../build/ejbhome
- 동일한 파일을 넣는 경우
Project Structure
와 위의 디렉토리 인 IntelliJ 클래스 경로 설정 모듈dir/conf
- 이러한 3 개 파일 넣기
../../../build/ejbhome
- 에 이름
jndi.properties
번째 ->Dependencies
방법
어느 방법 라인 출력에 어떤 효과가 있습니다.
감사합니다! JVM 설정 편집이 효과적이었습니다. 구성이 옵션에로드되기 전에 JuliLogStreamFactory 정적 초기화가로드되기 때문에 @Configuration을 통해 설정을 적용 할 수 없습니다. – alex440