logger (log4j)에 대한 어 펜더를 찾을 수 없습니까?


369

log4j를 빌드 경로에 넣었지만 애플리케이션을 실행할 때 다음 메시지가 표시됩니다.

log4j:WARN No appenders could be found for logger (dao.hsqlmanager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

이 경고는 무엇을 의미합니까? 어 펜더는 무엇입니까?


5
런타임 경고 인 것 같습니다. 컴파일 할 때이 내용이 보입니까?
maba

5
경고의 마지막 줄에서 URL을 방문하려고 했습니까?
Jesper

4
예!!! 그러나 그것은별로 말하지 않습니다 ... 어 펜더를 구성하기 위해 속성 파일이 필요하다는 것을 알았습니다!
막시무스

어 펜더를 추가하기 위해 구성 파일을 수동으로 편집하십시오. 올바른 구성 문서를 가지고 있는지 확인하십시오.
로마 C

답변:


464

log4j 안내서에 대한 이 짧은 소개 는 약간 오래되었지만 여전히 유효합니다.

이 안내서는 로거 및 어 펜더 사용 방법에 대한 정보를 제공합니다.


당신이 갈 수 있도록 두 가지 간단한 접근 방식이 있습니다.

첫 번째는이 줄을 기본 메소드에 추가하는 것입니다.

BasicConfigurator.configure();

두 번째 방법은 log4j.properties위에서 언급 한 가이드에서 가져온 이 표준 파일을 클래스 경로에 추가하는 것입니다.

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

3
첫 단계는 괜찮습니다. log4j 안내서에 대한 짧은 소개에서 인용
ray6080 9

65
새로운 우연히 ... slog / j / properties에 log4j.properties 파일을 추가하면 maven 프로젝트가 있다고 가정합니다. src / main / resources의 내용은 클래스 경로에 포함됩니다.
keni

3
IntelliJ idea open module setting에서 리소스 폴더를 선택하고 리소스를 클릭하면 모든 리소스가 클래스 경로에 자동으로 추가됩니다.
와카 스

1
도움이되지 않았습니다. 저는 C ++에 Eclipse Neon을 사용하고 log4j.properties를 이클립스 실행 파일과 함께 넣었지만 도움이되지 않았습니다
Nadav B

log4j.rootLogger=DEBUG, A1내가 항상 놓친 줄입니다.
모하마드 파이살

74

log4j.propertiesEclipse의 클래스 경로에 파일 위치를 추가 해야하는 것처럼 보입니다 .

프로젝트가 Eclipse에서 열려 있는지 확인한 다음 Eclipse 맨 위에있는 "실행"메뉴를 클릭하고 다음을 클릭하십시오.

  1. 운영
  2. 구성 실행
  3. 클래스 패스 (탭)
  4. 사용자 항목
  5. 고급 (오른쪽 버튼)
  6. 폴더 추가
  7. 그런 다음 log4j.properties 파일이 포함 된 폴더로 이동하십시오.
  8. 대다
  9. 운영

오류 메시지가 더 이상 나타나지 않아야합니다.


경고 메시지는 지금 나타나지 않지만 여전히 원하는 위치에 로그가 기록되지 않습니다
Arpan Saini

48

빠른 솔루션 :

  1. 주요 기능 에 코드 추가 :

    String log4jConfPath = "/path/to/log4j.properties";
    PropertyConfigurator.configure(log4jConfPath);
  2. / path / to에 log4j.properties라는 파일을 작성하십시오.

    log4j.rootLogger=INFO, stdout
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n

log4j.properties 파일을 src / test / resource와 같은 자원 디렉토리에 배치하십시오.
Alok

log4j.properties 경로의 명시 적 선언을 피하기 위해; 프로젝트 폴더 안에 넣고 String log4jConfPath = System.getProperty ( "user.dir") + File.separator + "log4j.properties"와 같이 액세스하십시오.
Amimo Benja 2014

36

이것은 단지 경고 일뿐입니다.

고정

이 때 기본 구성 파일을 발생 log4j.properties하고 log4j.xml찾을 수없는 응용 프로그램이 수행하는 명시 적으로 구성.

이 문제를 해결하려면 클래스 경로 의 위치 (일반적으로 jar 파일과 동일)를 작성 / 복사 log4j.properties하거나 작성 log4j.xml하십시오 .

선택적으로 java 옵션을 설정하십시오 -Dlog4j.configuration=file:///path/to/log4j.properties.

log4jThread.getContextClassLoader().getResource()기본 구성 파일을 찾는 데 사용 하며 파일 시스템을 직접 확인하지 않습니다. 배치 할 적절한 위치를 알고 log4j.properties있거나 log4j.xml사용중인 클래스 로더의 검색 전략을 이해해야합니다. log4j일부 환경에서는 콘솔 또는 파일 시스템으로의 출력이 금지 될 수 있으므로 기본 구성을 제공하지 않습니다.

디버깅

디버깅을 위해 -Dlog4j.debug=true매개 변수 를 사용하려고 할 수 있습니다 .

구성 log4j.properties

의 샘플 구성 log4j.properties:

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# Print only messages of level WARN or above in the package com.foo.
log4j.logger.com.foo=WARN

다중 어 펜더를 사용하는 다른 구성 파일은 다음과 같습니다.

log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log

log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

아파치 솔러

Solr을 사용 <solr>/example/resources/log4j.properties하는 경우 클래스 경로 의 위치로 복사 하십시오 .

log4j.propertiesSolr 의 샘플 구성 은 다음과 같습니다.

#  Logging level
solr.log=logs/
log4j.rootLogger=INFO, file, CONSOLE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x \u2013 %m%n

#- size rotation with log cleanup.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.MaxFileSize=4MB
log4j.appender.file.MaxBackupIndex=9

#- File to log to and log format
log4j.appender.file.File=${solr.log}/solr.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-5p - %d{yyyy-MM-dd HH:mm:ss.SSS}; %C; %m\n

log4j.logger.org.apache.zookeeper=WARN
log4j.logger.org.apache.hadoop=WARN

# set to INFO to enable infostream log messages
log4j.logger.org.apache.solr.update.LoggingInfoStream=OFF

또한보십시오:


13

여기에있는 대부분의 답변은 log4j.properties파일을 올바른 위치에 배치 할 것을 제안 했습니다 (maven 프로젝트의 경우 src/main/resources)

그러나 나에게 문제는 내가 log4j.properties올바르게 구성되지 않았다는 것입니다. 다음은 저에게 적합한 샘플입니다. 먼저 사용해 볼 수 있습니다.

# Root logger option
log4j.rootLogger=INFO, stdout

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

1
log4j가 "파일을 찾을 수 없음"과 "파일에서 불완전한 스펙"을 동일한 오류로 간주한다는 사실은 시간 낭비입니다.
Ed Norris

1
나에게 이것은 최선의 대답입니다. 투표를하고 답변에 설명을 추가했습니다.
schlebe

나를위한 최고의 답변 !!!
nosequeweaponer

8

앞에서 설명한 것처럼 두 가지 접근 방식이 있습니다

첫 번째는이 줄을 기본 메소드에 추가하는 것입니다.

BasicConfigurator.configure();

두 번째 방법은이 표준 log4j.properties 파일을 클래스 경로 에 추가 하는 것입니다.

두 번째 방법을 사용하는 동안 파일을 올바르게 초기화해야합니다 (예 :

Properties props = new Properties();
props.load(new FileInputStream("log4j property file path"));
props.setProperty("log4j.appender.File.File", "Folder where you want to store log files/" + "File Name");

로그 파일을 저장하는 데 필요한 폴더를 작성하십시오.


나는 같은 문제가 있었고 BasicConfigurator.configure ()를 사용했습니다. 주요 방법으로 코드가 올바르게 실행되고 있습니다.
Surabhi Pandey

7

Logger코드에서를 사용하여 메시지를 기록합니다. 는 AppenderA와 추가 된 객체입니다 Logger특정 대상에 메시지를 작성 할 수 있습니다. 있습니다 FileAppender텍스트 파일이나에 쓰기ConsoleAppender 콘솔에 기록 할 수 있습니다. 도움이 필요하면 Logger 및 Appender 설정 코드를 표시해야합니다.

Logger와 Appender의 상호 작용에 대한 이해를 돕기 위해 학습서 를 읽으십시오 .


6

특성 파일이 올바르게 설정되었는지 확인하십시오. 그리고 다시 컴파일러가 속성 파일을 찾을 수없는 것처럼 보이며 pom에서 다음과 같이 설정할 수 있습니다 (maven 프로젝트를 사용할 때만).

<build>
       <sourceDirectory> src/main/java</sourceDirectory>
       <testSourceDirectory> src/test/java</testSourceDirectory>
        <resources>
             <resource>
                  <directory>resources</directory>
             </resource>
        </resources>           
</build >

이! 나는 답을 찾기 위해 몇 시간을 보냈다. 내 사례 코드는 Linux에서는 잘 작동하지만 Windows (같은 NB IDE) 에서이 오류가 발생하며 위의 모든 솔루션이 작동하지 않습니다!
Tiana987642 16

5

같은 오류가 발생합니다. 이 오류 메시지가 나타나는 문제는 다음과 같습니다.

log4j를 구성하기 전에 로거를 사용하는 일부 객체를 만듭니다.

Logger.getLogger(Lang.class.getName()).debug("Loading language: " + filename);

솔루션 : 기본 방법의 시작 부분에 log4j를 구성하십시오.

PropertyConfigurator.configure(xmlLog4JConfigFile); 
// or BasicConfigurator.configure(); if you dont have a config file

정말 고맙습니다!!! 모두 Spring 또는 Tomcat을 가정하거나 구성을 초기화 할 것을 가정합니다.
Windgazer


3

RCP4에서 발생할 수있는 또 다른 이유는 대상 파일에서 여러 로깅 프레임 워크를 사용하기 때문입니다. 예를 들어, 대상 파일 컨텐츠 탭에서 slf4j, log4j 및 ch.qos.logback.slf4j의 조합을 사용하는 경우이 문제가 발생합니다.


3

첫 번째 코드로 다음을 추가하십시오.

Properties prop = new Properties();
prop.setProperty("log4j.rootLogger", "WARN");
PropertyConfigurator.configure(prop);

2

제 경우에는 오류가 " additivity " 플래그였습니다 . 루트 프로젝트 패키지가 "거짓"이면 하위 패키지에 어 펜더가없고 " 어 펜더를 찾을 수 없음 "오류가 표시됩니다.


2

JUnit 테스트 클래스를 실행하려고 할 때도 같은 문제가 발생했습니다.

src / test / resources 폴더에 log4j.properties 파일을 수동으로 추가하면 문제가 해결됩니다.

log4j.properties 파일에 아래 코드를 추가하면 문제가 해결되었습니다.

# Root logger option
log4j.rootLogger=INFO, file, stdout

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\logging.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

1

intellij 12에서 maven으로 실행 가능한 jar를 빌드하려고 할 때이 문제가 발생했습니다 .java 매니페스트 파일에 클래스 경로가 포함되어 있지 않기 때문에 루트 수준에서 log4j 속성 파일을 찾을 수 없습니다 ( jar 파일이 실행되었습니다.)

참고로 다음과 같이 로거를 얻었습니다.

Logger log = LogManager.getLogger(MyClassIWantedToLogFrom.class);

그리고 이것을 포함하는 pom 파일로 작업 할 수있었습니다.

         <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2-beta-5</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath> 
                        <mainClass>com.mycompany.mainPackage.mainClass</mainClass>
                    </manifest>
                    <manifestEntries>
                        <Class-Path>.</Class-Path> <!-- need to add current directory to classpath properties files can be found -->
                    </manifestEntries>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

1

프로젝트가 Eclipse에서 열려 있는지 확인한 다음 Eclipse 맨 위에있는 "실행"메뉴를 클릭하고 다음을 클릭하십시오.

  1. 운영

  2. 구성 실행

  3. 클래스 패스 (탭)

  4. 사용자 항목

  5. 오른쪽에 항아리를 추가

  6. log4j jar 파일 추가

  7. 대다

  8. 운영

오류 메시지가 더 이상 나타나지 않아야합니다.


1

그 이유는 static일부 단어가 부족할 수 있습니다 .

final static Logger logging = Logger.getLogger(ProcessorTest.class);

로거를 인스턴스 필드로 만들면 정확히 경고 메시지가 나타납니다.

No appenders could be found for logger (org.apache.kafka.producer.Sender)

더 나쁜 것은, 경고 ProcessorTest는 실수가있는 곳이 아니라 문제의 원인으로 전혀 다른 계급 (발신자)을 가리킨다 는 것입니다. 해당 클래스에는 올바른 로거가 있으며 변경할 필요가 없습니다! 우리는 나이에 대한 문제를 찾을 수있었습니다!


1

log4j2를 사용할 때도 같은 문제가 발생했습니다. 내 문제는 잘못된 종속 라이브러리를 사용하여 발생합니다.

<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <scope>runtime</scope>
    </dependency>

대신 다음을 사용해야합니다.

<dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <scope>runtime</scope>
    </dependency>

제 경우에는 "resources"디렉토리에 log4j2.xml이 정의되어 있으며 다음과 같이 사용하도록 지정되었습니다.

System.setProperty("log4j.configurationFile", "log4j2.xml");

1

Log4j Java 코드가 프로그램에서 첫 번째 로그 라인을 작성하려고 검색 할 때 Log4J가이 경고 메시지를 표시합니다.

현재 Log4j는 두 가지를 만듭니다.

  1. log4j.properties파일 을 찾기 위해 검색
  2. 어 펜더를 정의하기 위해 검색합니다. log4j.properties

경우 log4J찾을 수없는 log4j.properties파일이나 경우를 펜더에 선언 log4j.rootlogger의 다른 곳에서 정의되지 않은 log4j.properties파일 경고 메시지가 표시됩니다.

주의 : 속성 파일의 내용이 정확해야합니다.

다음 내용이 올바르지 않습니다

log4j.rootLogger=file

log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=c:/Trace/MsgStackLogging.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%m%n
log4j.appender.FILE.ImmediateFlush=true
log4j.appender.FILE.Threshold=debug
log4j.appender.FILE.Append=false

file어 펜더는 log4j.rootlogger명령문의 LOWER-CASE에 선언되고 UPPER-CASE를 사용하여 log4j.appender 명령문에 정의 되기 때문에 !

올바른 파일은

log4j.rootLogger=FILE

log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=c:/Trace/MsgStackLogging.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%m%n
log4j.appender.FILE.ImmediateFlush=true
log4j.appender.FILE.Threshold=debug
log4j.appender.FILE.Append=false

MAVEN을 사용하는 경우 log4j.properties 파일을 넣고 src/main/resourcesMAVEN 빌드를 시작 해야합니다 .

그런 다음 Log4j.properties 파일이 target/classes폴더에 복사됩니다 .

Log4J는 log4j.properties찾은 파일을 사용합니다 target/classes!


1

나도이 문제가 있었다. 방금 IntelliJ IDEA에서 resources 디렉토리를 표시하는 것을 잊었습니다.

  1. 디렉토리를 마우스 오른쪽 버튼으로 클릭하십시오
  2. 디렉토리를로 표시
  3. 자원 루트

1

Eclipse를 사용 중이고 모든 것이 미리 제대로 작동 한 후에도이 문제가 발생하지 않으면로 이동하십시오 Project - Clean - Clean.


0

파일이에 있지만 Eclipse에서 JUnit 테스트를 log4j.properties실행할 때 Eclipse 설치를 찾을 수 없습니다 .src/test/resources

그 이유는 Eclipse (또는 m2e 커넥터)가 src/test/resources예상 출력 폴더로 컨텐츠를 복사하지 않았기 때문입니다 target/test-classes. 근본 원인은 프로젝트 빌드의 Java 빌드 경로 -> 소스 탭-> 빌드 경로의 소스 폴더 -> src / test / resources , 어떻게 든 Excluded: **항목 이있었습니다 . 제외 된 항목을 제거했습니다 .

또한, 나는 수동으로 복사 한 수 src/test/resources/log4j.propertiestarget/test-classes/log4j.properties.


0

log4j.properties실제로 클래스 경로에있는 경우 Spring Boot를 사용하여 응용 프로그램 서버에 배포 할 WAR 파일을 만들고 web.xmlSpring Boot의 자동 구성을 선호 하는 파일을 생략하고 로그 메시지가 표시되지 않으면 명시 적으로해야합니다 Log4j를 구성하십시오. Log4j 1.2.x를 사용한다고 가정합니다.

public class AppConfig extends SpringBootServletInitializer {

    public static void main( String[] args ) {
        // Launch the application
        ConfigurableApplicationContext context = SpringApplication.run( AppConfig.class, args );
    }

    @Override
    protected SpringApplicationBuilder configure( SpringApplicationBuilder application ) {
        InputStream log4j = this.getClass().getClassLoader().getResourceAsStream("log4j.properties");
        PropertyConfigurator.configure(log4j);
        return application;
    }

// Other beans as required...
}

0

어쩌면 관련 프로젝트에 java 빌드 경로에 log4j가 들어있는 것을 추가하고, Eclipse를 사용하여 mahout 프로젝트 에서이 문제를 만났을 때 mahout_h2o를 추가하면 작동합니다!


0

많은 프로젝트와 함께 작업하면 스타일 문제가 발생할 수 있습니다.

* 하나의 lof4j.properties 파일이 있어야하며이 파일에는 다른 프로젝트의 로그 특성이 포함됩니다.

* 프로젝트가 Linux OS에서 작동 할 때 log4j 특성 파일을 src 경로에 넣으려고 시도하는 것 외에, 다른 프로젝트의 libs 및 log4.properties 파일은 하나의 폴더 아래에 클래스 경로의 위치에있을 수 있습니다.


0

첫 수입품 :

 import org.apache.log4j.PropertyConfigurator;

그런 다음 기본 메소드에 아래 코드를 추가하십시오.

String log4jConfPath ="path to/log4j.properties";
PropertyConfigurator.configure(log4jConfPath);

경로에 파일을 작성하고 해당 파일에 아래 코드를 추가하십시오.

log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n

0

이 사이트의 솔루션은 https://crunchify.com/java-how-to-configure-log4j-logger-property-correctly/에서 작동했습니다 . log4j에서 경고가 전혀 표시되지 않습니다.

나는 이것을 src / main / resources에 넣은 log4j.properties 파일에 넣었다.

# This sets the global logging level and specifies the appenders
log4j.rootLogger=INFO, theConsoleAppender

# settings for the console appender
log4j.appender.theConsoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.theConsoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.theConsoleAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

0

우선 : log4j.properties 파일을 작성하십시오.

# Root logger option
log4j.rootLogger=INFO, stdout

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

src / main / resources /에 배치하십시오

그런 다음이 두 가지 종속성을 사용하십시오.

<dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.5</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.5</version>
        </dependency>

이 최종 종속성을 POM 파일에 추가해야합니다.

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.1.5.RELEASE</version>
        </dependency>

0

log4j JVM 인수 Dlog4j.configuration을 고려하십시오.

일반적으로 :

log4j 구성 파일을 가리키는 JVM 인수를 추가하십시오. 구문은 다음과 같습니다.

java [ options ] -jar file.jar [ arguments ]

실제 명령 행 샘플은 다음과 같습니다.

java -Dlog4j.configuration=conf/log4j.xml -jar myJarFile.jar myArg1 myArg2

IntelliJ IDE 사용자의 경우 :

1.Run/Debug Configurations
2.Edit configurations...
3.VM options
4.Enter the same value also starting with "-D"

팁 :

1. Eclipse IDE 사용자는 동등한 접근법을 찾을 수 있습니다

2. 실행 / 디버그 구성 편집기의 경우, 처음에 특정 실행 파일이 없을 가능성이 큽니다. 현재 작업중인 프로젝트의 크기에 따라 디렉토리를 탐색하여 찾는 것이 좋지 않을 수 있습니다. 실행 결과가 무엇이든 상관없이 실행 / 디버그 구성을 진행하기 전에 파일을 한 번만 실행 / 실행 (재생 클릭)하면 번거 로움이 줄어 듭니다 .

작업 디렉토리, 상대 경로 및 클래스 경로에주의하십시오.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.