2017-04-03 4 views
1

내가 new PreBuiltTransportClient(Settings.EMPTY);으로 elasticsearch 클라이언트를 iniatilizing있어와 설정 그리고 다음과 같은 설정이 있습니다Elasticsearch의 log4j2.xml

: log4j2 이후

pom.xml

<dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-core</artifactId> 
    <version>2.8.1</version> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-log4j12</artifactId> 
    <version>1.7.25</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-api</artifactId> 
    <version>2.8.1</version> 
</dependency> 

XML 파일 ==>log4j2.xml 소요를

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="WARN"> 

    <Appenders> 
     <Console name="Console" target="SYSTEM_OUT"> 
      <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> 
     </Console> 

     <RollingFile name="RollingFile" filename="log/rolling.log" 
      filepattern="${logPath}/%d{YYYYMMddHHmmss}-rolling.log"> 
      <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> 
      <Policies> 
       <SizeBasedTriggeringPolicy size="100 MB" /> 
      </Policies> 
      <DefaultRolloverStrategy max="20" /> 
     </RollingFile> 

    </Appenders> 
    <Loggers> 
     <Root level="info"> 
      <AppenderRef ref="Console" /> 
      <AppenderRef ref="RollingFile" /> 
     </Root> 
     <logger name="org.springframework.web"> 
      <level value="info" /> 
      <appender-ref ref="Console" /> 
     </logger> 
    </Loggers> 
</Configuration> 

그러나 초기화로 인해 불쾌한 설정 예외가 발생합니다 (예 :

).
Error while converting string [] to type [class.org.apache.logging.log4j.Level]. Using default value [null]. java.lang.IllegalArgumentException: Unknown level constant []. 

로깅에 일부 구성이 누락되었을 것으로 예상됩니다. 적절한 설정 검색하기 log4j.properties 파일에 대한 힌트 만 찾았습니다. 사용하고 싶지 않습니다. 나는 적절한 로거 이름을 구성해야한다고 생각하지만 어느 것을 모를 것입니다. org.elasticsearch.common.logging 도움이되지 않았습니다.

올바르게 구성하는 방법은 무엇입니까?

답변

0

나는이 오류가 XML 파일에 있다고 생각한다. logger 태그 안에는 로거를 잘못 정의했습니다. 다음을 시도해 볼 수 있습니까?

<Loggers> 
    <Root level="INFO"> 
     <AppenderRef ref="Console"/> 
     <AppenderRef ref="RollingFile" /> 
    </Root> 
    <Logger name="corg.springframework.web" level="INFO"> 
     <AppenderRef ref="Console"/> 
    </Logger> 
</Loggers> 

수준은 대신 별도의 레벨 라인

소스의 로거 라인 안에 있어야합니다 : log4j

+0

들으하지만 마지막 말하려고하지 않았다 : -/더 또는 다른 작업 구성을 찾은 이후로 적습니다. 'log4j : configuration' 또는'Configuration' 또는'appender-ref' 대'AppenderRef'를 사용할시기는 분명치 않습니다. 전체 설정은 여전히 ​​검은 색 상자로 남아 있습니다. - 다행히도 worx :-) – LeO

+0

솔직히 말해서, 새 프로젝트를 시작하거나 로깅 의존성을 업데이트 할 때 정확한 configs를 조회해야합니다. 제 의견으로는 훨씬 쉬워야합니다! 잘된 일이야! –

관련 문제