2013-04-18 6 views
0

이 주제에 대한 많은 게시물이 있지만 유용하거나 관련성이있는 것은 없습니다.JBoss AS 6 및 Log4j

나는 간단한 요구 사항이 있습니다. JBoss AS 4.0.4에서 JBoss AS 6으로 이동 중입니다. 4.0.4 환경에서 server/myconfig/conf 폴더에 log4j.xml이 있고 server/myconfig/lib에 log4j.jar가 있습니다. JBoss AS 6가 기본 로깅 프레임 워크로 변경되었음을 알고 있습니다. 우리는 log4j에 크게 의존하고 있으며 변경은 실용적이지 않습니다. log4j jar와 log4j.xml 파일을 응용 프로그램에 패키지로 작성하라는 많은 게시물을 보았습니다. 나는 배포 및 lib에 수십 개의 jar 및 war 파일을 가지고 있습니다. 내가 심각하게 log4j.jar과 log4j.xml을 모두 패키지화 할 것으로 예상 되나? 나는 희망하지 않을 것이다. 그래서 아마도 -Djboss.as.logging.per- deployment = false가 도움이 될 것이다. 하지만 여전히 사람들은 log4j.jar와 log4j.xml을 ear/war 파일에 넣으려고하는 것을 보았습니다.

누군가 내 기조 연설을 할 수 있다면 제 4.0.4 설정을하시기 바랍니다.

덕분에, 폴

+0

당신은 실제로 별도의 log4j 항아리를 배포 시도, 단지 .JAR : 아래

는 로깅 구성 (JBoss의 EAP 6)를 추가 할 수있는 섹션입니다."JBossAS6는 기본적으로 공유 CL 도메인 (일명"big-ball-o-mud ")을 사용하기 때문에 그렇게 될 것이라고 생각합니다." ([source] (https://community.jboss.org/thread/167745) – eis

+0

@ 예 예, log4j.jar 서버//lib에 있습니다. log4j.xml 서버//conf에 있고 파일 appender에 파일 이름 serverX.log를 정의했지만 표시되는 파일은 server.log입니다. 그래서 (아마도) server/deploy/jboss-logging.xml에 정의 된대로 JBoss의 기본 로깅을 사용하고 있습니다. – user265330

+0

그건 정확히 내가 의미하는 바가 아니야. server/lib에 있으면 공유 클래스 경로에서 사용하고 있습니다. 배포로 사용하는 것은 어떻습니까? – eis

답변

0

나는 당신의 응용 프로그램 내에서 log4j에 항아리를 포장 할 필요가 없다 생각합니다.

아래의 것들을 수행

1) = Standalone.conf.bat에서 다음 매개 변수가 세트 "JAVA_OPTS = % JAVA_OPTS % -Dorg.jboss.as.logging.per 배포 파일 false로 설정

2.) log4j에 대한 하나 개의 모듈을합니다. log4j에 대한 모듈 폴더 안에. 참고로 당신은 이미 다른 폴더를 확인할 수 있습니다.

3) 내부에 하나의 JBoss에 배포-structure.xml 장소를 확인 web-inf 폴더 파일에 아래 내용이 포함됩니다

응용 프로그램에 log4j jar가 포함됩니다.

+0

시간을내어 회신 해 주셔서 감사합니다. standalone.conf.bat가 무엇인지 (또는 Linux와 동등한 플랫폼인지는 모르겠다.) 그러나 내 jboss 시작 스크립트에서 이미 -Dorg.jboss.as.logging.per-deployment = false를 설정했습니다. 그래서 나는 (1) 귀하의 조치를 취한 것으로 생각합니다. 단계 (2)와 관련하여 "modules"폴더가 의미하는 바를 모르겠습니다. Jboss 설치에는 내가 아는 한 그러한 폴더가 없습니다. 그러므로 당신은 단계 (2)와 (3)이 의미하는 바를 정교하게 설명 할만큼 충분히 친절하십니까? 고맙습니다. – user265330

+0

리눅스 환경에 jboss를 설치 했으므로. 따라서 $ JBOSS_HOME으로 이동하면 modules 폴더가 있어야합니다. –

+0

JBoss 7에 대해 이야기하고 있다고 생각합니다. JBoss 6.1을 사용하고 있습니다. – user265330

0

Log4J를 Jboss 6.1에서 아무런 문제없이 사용하고 있습니다.

어디서나 Log4J jar를 포함시키지 않아도됩니다 (이를 확인한 결과, client/lib 아래에 있음).

Log4J 구성을 server/<config>/deploy/jboss-logging.xml (레이아웃은 log4j.xml과 매우 유사합니다)에 통합해야합니다.

그 후 나는 내 수업 내에서 org.apache.log4j.Logger을 사용하고 모든 것이 예상대로 작동합니다.

+0

Java Side에서 Logger를 어떻게 사용 했습니까? – aProgrammer

0

JBoss는 log4J 1.2, SLF4J, 공통 로깅 및 java.util.logging에 대한 API를 자동으로 주입합니다. 을 응용 프로그램과 함께 포장하십시오.

serverDirectory \ standalone \ configuration \ standalone.xml (또는 사용하도록 선택한 구성)에 로깅 구성을 추가 할 수 있습니다.

<subsystem xmlns="urn:jboss:domain:logging:1.3"> 
    <root-logger> 
     <level name="INFO"/> 
     <handlers> 
      <handler name="CONSOLE"/> 
      <handler name="FILE"/> 
     </handlers> 
    </root-logger> 
</subsystem> 
+0

이 질문은 EAP6가 아닌 JBoss AS6에 대한 것입니다. – gustavohenke