2013-07-19 1 views
2

Tomcat 6.0.35와 Solr 4.0.0을 사용하고 있습니다. 우리는 SolrCore의 instanceDir에 lib 디렉토리에 몇 개의 jar 파일을 넣었습니다. jar 파일에는 몇 가지 인턴 로그백 구성/클래스를 사용하는 클래스가 있습니다 (현재 Logback/SLF4J). 추가 기능 지원 ( ) 작동하지 않을 수 있습니다. 우리 병이 작동하고있어. Tomcat에서 실행중인 Solr에 포함 된 응용 프로그램에서 로그하는 방법

우리는 시도 :

  1. 기본 logging.properties 편집. 이 경우 모든 로그는 로거에 속하지만 응용 프로그램의 로그 문을 포함합니다.

  2. lib 폴더에 logback jars가있는 logback.xml 파일을 제공합니다. 이 경우 우리는 로그 파일에 로그가 없습니다.

  3. 로그백을 사용하여 tomcat을 작성하면 로그에 기록됩니다. 이 경우 우리는 tomcat과 org.apache.catalina의 다른 클래스에서 다른 로그를 수신했습니다. 로그 파일에 Solr이나 응용 프로그램의 로그가 없습니다.

로깅을 사용자 정의하려면 어떻게해야합니까? 가능하면 Logback을 사용하고 싶습니다.

답변

0

최소한 Logback을 사용하여 Solr을 작성하면 충분했습니다. 따라서 우리는 logback-core와 loback-classic jar 파일을 Solr의 war 파일에 넣었고 logback 구성 파일을 프로그램 매개 변수로 제공하고 Solr의 표준 로깅을 비활성화했습니다. 우리는 이것이 최선의 해결책이라고 생각하지 않지만 효과적입니다.

  • 우리는 solr.war 파일 압축 해제 : 폴더에 logback 코어-의 .jar와 logback-클래식의 .jar 복사 한 후

    jar xfv solr.war 
    
    rm solr.war 
    
  • 및 WEB을-INF/lib에

    cp /SOMEPATH/logback-core-<version>.jar /SOMEPATH/logback-classic-<version>.jar WEB-INF/lib 
    
  • 적어도 우리는 다시

    jar cfv solr.war * 
    
  • 전쟁 파일을 작성

이제 우리는 프로그램의 매개 변수를 조정 : 우리는이 logback.xml 파일에 지정된대로

export LOGGING_CONFIG="-Dnop" 

export JAVA_OPTS="$JAVA_OPTS 
-Dlogback.configurationFile=/SOMEPATH/logback.xml" 

는 그 다음 SOLR이 logback을 통해 로그인 한 instance.env 파일에서 다음 옵션을 설정했습니다. Solr에서도 응용 프로그램의 로그를 받았습니다.

관련 문제