10.8. JBoss EAP에서 애플리케이션 로깅 구성
JBoss EAP 로깅 하위 시스템 또는 배포 별로 애플리케이션의 로깅 을 구성할 수 있습니다. 로깅 하위 시스템은 중앙 집중식 관리를 제공하지만 배포별 로깅은 각 애플리케이션과 관련된 사용자 지정 구성을 활성화합니다.
10.8.1. 배포별 로깅 구성 링크 복사링크가 클립보드에 복사되었습니다!
배포별 로깅을 통해 개발자는 사전에 애플리케이션에 대한 로깅을 구성할 수 있습니다. 애플리케이션이 배포되면 정의된 구성에 따라 로깅이 시작됩니다. 이 구성을 통해 생성된 로그 파일에는 애플리케이션의 동작에 대한 정보만 포함됩니다.
배포별 로깅을 사용하는 경우 애플리케이션에서 로깅 하위 시스템 구성을 사용하지 않습니다. 대신 애플리케이션의 배포 파일에 정의된 로깅 구성을 사용합니다. 각 애플리케이션에는 글로벌 구성과 관계없이 사용자 지정 로깅 설정이 있을 수 있습니다.
이 접근 방식에는 시스템 전체 로깅에 비해 장단점이 있습니다. 이점은 JBoss EAP 관리자가 서버 로깅 이외의 로깅을 구성할 필요가 없다는 것입니다. 단점은 배포별 로깅 구성이 서버 시작 시에만 읽혀 있으며 런타임 시 변경할 수 없다는 것입니다.
10.8.1.1. 배포별 로깅 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
use-deployment-logging-config 속성을 설정하거나 로깅 하위 시스템을 제외하여 JBoss EAP에서 배포별 로깅을 비활성화할 수 있습니다.
사전 요구 사항
- JBoss EAP가 실행 중입니다.
다음 방법 중 하나를 사용하여 배포별 로깅을 비활성화합니다.
프로세스
use-deployment-logging-config속성을false로 설정합니다./subsystem=logging:write-attribute(name=use-deployment-logging-config,value=false)use-deployment-logging-config속성은 배포별 로깅을 스캔할지 여부를 제어합니다. 기본값은true입니다. 배포별 로깅을 비활성화하려면false로 설정합니다.-
jboss-deployment-structure.xml파일을 사용하여로깅하위 시스템을 제외합니다.
10.8.2. 애플리케이션 로깅 프로필 링크 복사링크가 클립보드에 복사되었습니다!
로깅 프로필은 배포된 애플리케이션에 할당할 수 있는 독립적인 로깅 구성 세트입니다. 일반 로깅 하위 시스템과 마찬가지로 로깅 프로필은 처리기, 카테고리, 형식화, 루트 로거를 정의할 수 있습니다. 그러나 다른 프로필 또는 주요 로깅 하위 시스템의 구성을 참조할 수 없습니다. 로깅 프로필의 설계는 더 쉬운 구성을 위해 로깅 하위 시스템과 유사합니다.
로깅 프로필을 사용하면 관리자가 다른 구성에 영향을 주지 않고 하나 이상의 애플리케이션에 고유한 로깅 구성을 생성할 수 있습니다. 각 프로필은 서버 구성에 정의되어 있으므로 영향을 받는 애플리케이션을 다시 배포하지 않고도 로깅 설정을 변경할 수 있습니다.
각 로깅 프로필에는 다음이 포함될 수 있습니다.
- 고유한 이름입니다. 이 값은 필수입니다.
- 원하는 수의 로그 처리기입니다.
- 임의의 수의 로그 범주입니다.
- 하나의 루트 로거까지.
- 로그 형식 LimitRange.
애플리케이션은 Logging-Profile 속성을 설정하여 MANIFEST.MF 파일에서 사용할 로깅 프로필을 지정할 수 있습니다.
10.8.2.1. 로깅 프로필 구성 링크 복사링크가 클립보드에 복사되었습니다!
로그 처리기, 카테고리 및 루트 로거를 사용하여 로깅 프로필을 구성할 수 있습니다. 로깅 프로필 구성에서는 다음과 같은 차이점을 제외하고 로깅 하위 시스템을 구성하는 것과 동일한 구문을 사용합니다.
-
루트 구성 경로는
/subsystem=logging/logging-profile=NAME입니다. - 로깅 프로필에는 다른 로깅 프로필이 포함될 수 없습니다.
로깅하위 시스템에는 로깅 프로필에 사용할 수 없는 다음 속성이 포함됩니다.-
add-logging-api-dependencies -
use-deployment-logging-config
-
관리 CLI를 사용하여 JBoss EAP에서 로깅 프로필을 구성할 수 있습니다. 또는 Configuration > Cryostats > Logging > Logging Profiles 로 이동하여 관리 콘솔을 통해 구성할 수 있습니다.
사전 요구 사항
- JBoss EAP가 실행 중입니다.
프로세스
다음 명령을 사용하여 로깅 프로필을 생성합니다.
/subsystem=logging/logging-profile=PROFILE_NAME:add다음 명령을 사용하여 파일 처리기를 추가합니다.
/subsystem=logging/logging-profile=PROFILE_NAME/file-handler=FILE_HANDLER_NAME:add(file={path=>"LOG_NAME.log", "relative-to"=>"jboss.server.log.dir"})다음 명령을 사용하여 파일 처리기의 로깅 수준을 설정합니다.
/subsystem=logging/logging-profile=PROFILE_NAME/file-handler=FILE_HANDLER_NAME:write-attribute(name="level", value="DEBUG")다음 명령을 사용하여 로거 이름을 생성합니다.
/subsystem=logging/logging-profile=PROFILE_NAME/logger=CATEGORY_NAME:add(level=TRACE)다음 명령을 사용하여 파일 처리기를 카테고리에 할당합니다.
/subsystem=logging/logging-profile=PROFILE_NAME/logger=CATEGORY_NAME:add-handler(name="FILE_HANDLER_NAME")그런 다음
MANIFEST.MF파일의 애플리케이션에서 사용할 로깅 프로필을 설정할 수 있습니다.
10.8.2.2. 애플리케이션 로깅 프로필 구성 예 링크 복사링크가 클립보드에 복사되었습니다!
이 예에서는 로깅 프로필 및 이를 사용하는 애플리케이션의 구성을 보여줍니다. 여기에는 관리 CLI 명령, 결과 XML 및 애플리케이션의 MANIFEST.MF 파일이 포함됩니다.
예제 logging 프로파일에는 다음과 같은 특징이 있습니다.
-
이름은
accounts-app-profile입니다. -
로그 카테고리는
com.company.accounts. Cryostats입니다. -
로그 수준은
TRACE입니다. 로그 처리기는 Cryostat
-trace.log 파일을사용하는 파일 처리기입니다.- 관리 CLI 세션
/subsystem=logging/logging-profile=accounts-app-profile:add
/subsystem=logging/logging-profile=accounts-app-profile/file-handler=ejb-trace-file:add(file={path=>"ejb-trace.log", "relative-to"=>"jboss.server.log.dir"})
/subsystem=logging/logging-profile=accounts-app-profile/file-handler=ejb-trace-file:write-attribute(name="level", value="DEBUG")
/subsystem=logging/logging-profile=accounts-app-profile/logger=com.company.accounts.ejbs:add(level=TRACE)
/subsystem=logging/logging-profile=accounts-app-profile/logger=com.company.accounts.ejbs:add-handler(name="ejb-trace-file")
- XML 구성
<logging-profiles>
<logging-profile name="accounts-app-profile">
<file-handler name="ejb-trace-file">
<level name="DEBUG"/>
<file relative-to="jboss.server.log.dir" path="ejb-trace.log"/>
</file-handler>
<logger category="com.company.accounts.ejbs">
<level name="TRACE"/>
<handlers>
<handler name="ejb-trace-file"/>
</handlers>
</logger>
</logging-profile>
</logging-profiles>
- 애플리케이션 MANIFEST.MF 파일
Manifest-Version: 1.0
Logging-Profile: accounts-app-profile
10.8.3. 배포 로깅 구성 보기 링크 복사링크가 클립보드에 복사되었습니다!
관리 CLI를 사용하여 JBoss EAP에서 배포의 로깅 구성을 볼 수 있습니다.
사전 요구 사항
- JBoss EAP가 실행 중입니다.
프로세스
다음 명령을 사용하여 특정 배포의 로깅 구성을 검색합니다.
/deployment=DEPLOYMENT_NAME/subsystem=logging/configuration=CONFIG:read-resourceCONFIG값은 다음 중 하나일 수 있습니다.-
Default: 배포에서로깅 하위 시스템을 사용하는 경우 로깅하위 시스템 구성이 출력됩니다. -
profile-PROFILE_NAME: 배포에서 로깅 하위 시스템에 정의된 로깅 프로필을 사용하는 경우 로깅 프로필 구성이 출력됩니다. -
사용 중인 구성 파일의 경로입니다(예:
myear.ear/META-INF/logging.properties).
-
특정 로깅 프로필에 대한 구성을 표시하려면 다음 명령을 실행합니다.
/deployment=mydeployment.war/subsystem=logging/configuration=profile-MYPROFILE:read-resource(recursive=true,include-runtime=true)이 명령은 지정된 배포에서 사용하는
MYPROFILE로깅 프로필의 구성을 검색합니다.예상 출력
{ "outcome" => "success", "result" => { "error-manager" => undefined, "filter" => undefined, "formatter" => { "MYFORMATTER" => { "class-name" => "org.jboss.logmanager.formatters.PatternFormatter", "module" => undefined, "properties" => {"pattern" => "%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"} } }, "handler" => { "MYPERIODIC" => { "class-name" => "org.jboss.logmanager.handlers.PeriodicRotatingFileHandler", "encoding" => undefined, "error-manager" => undefined, "filter" => undefined, "formatter" => "MYFORMATTER", "handlers" => [], "level" => "ALL", "module" => undefined, "properties" => { "append" => "true", "autoFlush" => "true", "enabled" => "true", "suffix" => ".yyyy-MM-dd", "fileName" => "EAP_HOME/standalone/log/deployment.log" } } }, "logger" => {"MYCATEGORY" => { "filter" => undefined, "handlers" => [], "level" => "DEBUG", "use-parent-handlers" => true }}, "pojo" => undefined } }다음 명령을 사용하여 재귀
읽기-리소스작업을 수행하여 전체 로깅 구성 및 배포에 대한 기타 정보를 검색할 수도 있습니다./deployment=DEPLOYMENT_NAME/subsystem=logging:read-resource(include-runtime=true, recursive=true)