문제

log4J에 독특한 문제가 있습니다. 우리는 Weblogic 10 사용에 배치하고 있습니다 log4j.xml. 잘 작동합니다. 우리는이 플랫폼에서 개발하고 Weblogic 10에 배포 할 수있는 방식으로 Tomcat 6을 실행하는 방법을 알아 냈습니다.

나는 어떻게 만드는 방법을 알아 냈습니다 log4j.properies Tomcat 6의 Juli 벌목 메커니즘을 사용하는 추가 항아리와 함께 Tomcat 6과 함께 log4j.xml (Weblogic과 함께 작동) Tomcat 6과 함께 작동하지 않습니다. log4j.properties.

응용 프로그램 클래스 계층을 나타내는 방법을 알아낼 수 없었습니다. log4j.properties. 그래서 내 질문은 다음을 어떻게 변환 하는가입니다. log4j.xml 항목 log4j.properties

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="vccashib" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <param name="File" value="vccashib_10.log"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{ISO8601} %t %-5p %c - %m%n"/>
    </layout>
  </appender>

  <logger name="org.hibernate">
    <level value="DEBUG"/>
    <appender-ref ref="vccashib" />
  </logger>

</log4j:configuration>

그래서 제가 수업에서 수업에 대한 로그를 캡처하는 로거를 써야한다고 가정 해 봅시다. com.abc.xyz 계층. 그것을 어떻게 표시합니까? log4j.properties? (부록 유형, DatePattern, ConverionPattern, Filename, 레이아웃 등과 같은 다른 값을 관리했습니다.)

유일한 문제 별 코드를 보냈습니다.

또는 만드는 방법에 대한 답을 알고 있다면 log4j.xml 그것은 Tomcat 6과의 전쟁 아카이브의 일부입니다 (Juli Jars가 제자리에 있고 잘 작동합니다. log4j.properties), 알려주세요

도와주세요.

Suhaas

도움이 되었습니까?

해결책

나는 당신의 질문에 대해 완전히 명확하지 않습니다. 배포했습니다 log4j 문제없는 Tomcat 6에서 (XML 구성으로 특정 문제를 게시 할 수 있습니까?). 나는 당신이 무슨 뜻인지 잘 모르겠습니다. log4j.properies Tomcat 6 "의 Juli 로깅 메커니즘을 사용하는 추가 항아리와 함께 Tomcat 6과 함께 작업하십시오.

  • 구성이 적절한 위치에 있습니까?
  • 당신의 항아리 중 일부는 글로벌 Tomcat에서로드되고 있습니다 ($TOMCAT_HOME/lib) 디렉토리? 그렇다면 라이브러리가 WebApp이 아닌 글로벌 디렉토리에서 구성을 찾고있을 수 있습니다.

별도의 클래스 계층을 관리하는 방법에 대해 이야기하고 있다면 log4j 구성, 그것은 다음과 같습니다.

log4j.rootCategory=INFO,stdout

#e.g. not interested in most stripes or spring warnings
log4j.logger.net.sourceforge.stripes=ERROR
log4j.logger.org.springframework=ERROR

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-d %-5p [%t] %c{1} %3x - 
%m%n

#This creates the separate log "Foo" at DEBUG level. Everythign within 
#the "com.foo" package will
# get logged here
log4j.category.com.foo=DEBUG,Foo
log4j.appender.Foo=org.apache.log4j.RollingFileAppender
log4j.appender.Foo.layout=org.apache.log4j.PatternLayout
log4j.appender.Foo.layout.ConversionPattern=%-d %-5p [%t] %c{1} %3x - %m%n
log4j.appender.DetailLogFile.File=foo.log
#this is the important line - if this isn't here the stuff in
#com.foo package will show up in both logs.
log4j.additivity.com.foo=false

다른 팁

log4j.xml에서도 로그 생성에 문제가없는 것 같습니다.

나는 사용했다 http://tomcat.apache.org/tomcat-6.0-doc/logging.html 제안 된대로 로깅 메커니즘을 생성합니다.

흥미롭게도 로그는 Tomcat 6의 빈 디렉토리에서 생성되었습니다 !!! 그것은 현재 작업 디렉토리와 관련이 있으며 제 경우에는 일부 카탈리나 설정에 따라 빈 디렉토리 인 것 같습니다.

아래에 설명 된 간단한 단계는 거의 없어서 초기화 할 웹 애플리케이션의 log4J를 설정하는 데 도움이됩니다.

1) 사본 log4j.xml 너의 ~에게 (TOMCAT_HOME)/CATALINA_HOME/conf 예배 규칙서. 그만큼 log4j.xml 내 응용 프로그램의 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
 <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
   <layout class="org.apache.log4j.PatternLayout">
     <param name="ConversionPattern" value="%d{ABSOLUTE}
      %5p %c{1}:%L -Preetam %m%n"/>

        </layout>
     </appender>
       <root>
        <!--   <priority value="info"></priority> -->
               <priority value="debug"></priority>
          <appender-ref ref="stdout"/>
        </root>
</log4j:configuration>

2) Tomcat을 중지하십시오

tomcat6 stop /var/tmp/tomcat-20120622.log (use your application specific stop.sh script)

3) in (TOMCAT_HOME)/CATALINA_HOME/conf 디렉토리, 당신은 가질 것입니다 tomcat6.conf 파일. 아래에 설명 된대로 파일을 편집하십시오. 없다면 CATALINA_OPTS 에서 tomcat6.conf, 하나를 만듭니다.

# Settings for the CATALINA_OPTS to pick web application's log4j.xml from the specified location
CATALINA_OPTS="${CATALINA_OPTS}-Dlog4j.debug - Dlog4j.configuration=file:${CATALINA_HOME}/conf/log4j.xml"

4) 애플리케이션에 따라 Tomcat을 시작하십시오 startup.sh 스크립트.

5) 그게 바로, 당신은 모두 끝났습니다. Tomcat이 읽고 있는지 확인하려면 로그를 확인하십시오. log4j.xml 당신이 지정합니다 tomcat6.conf.

tail -f /var/tmp/tomcat-20120622.log

Jun 22, 2012 3:28:35 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory examples
Jun 22, 2012 3:28:35 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Jun 22, 2012 3:28:35 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Jun 22, 2012 3:28:35 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/12  config=null
Jun 22, 2012 3:28:35 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 547 ms
log4j: Using URL [file:/opt/otccalypso/guiadmd01/tomcat6/conf/log4j.xml] for automatic    log4j configuration.
log4j: Preferred configurator class: org.apache.log4j.xml.DOMConfigurator
log4j: System property is :null
log4j: Standard DocumentBuilderFactory search succeded.
log4j: DocumentBuilderFactory is: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
log4j: debug attribute= "null".
log4j: Ignoring debug attribute.
log4j: Threshold ="null".
log4j: Level value for root is  [debug].
log4j: root level set to DEBUG
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{ABSOLUTE}        %5p %c{1}:%L -Preetam %m%n].
log4j: Adding appender named [stdout] to category [root].

우리는 tomcat6을 사용하고 있습니다 log4j. 우리는 따랐다 다음 매뉴얼 설치하기 위해서 log4j Tomcat에서는 이전 버전 (4.1-5.5)보다 더 복잡합니다. 나는 당신이 당신을 넣어야한다고 믿습니다 log4j.xml 아래의 WEB-INF/classes 전쟁에서 디렉토리.

추가적인 접근 방식은이를 위해 스프링 프레임 워크를 사용하는 것입니다. log4jconfiglistener의 API

에 따르면 http://boncey.org/2006_7_25_log4j_with_xml_configuration

  1. export CATALINA_OPTS="-Dlog4j.configuration=log4j.xml" (나는 그것을 찾도록 강요한다고 생각합니다 .xml 보다는 .properties)
  2. 놓다 log4j.xml 파일로 파일 WEB-INF/classes

나는 비슷한 문제가 있었고 이것은 나를 위해 일했다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top