11.7. 로그 포맷터 구성


로그 포맷터는 해당 핸들러의 로그 메시지의 표시를 정의합니다. 로깅 하위 시스템을 사용하면 다음 유형의 로그 포맷터를 구성할 수 있습니다.

11.7.1. 패턴 포맷터 설정

로그 핸들러에서 로그 메시지를 포맷하기 위해 사용할 수 있는 명명된 패턴 포맷터를 생성할 수 있습니다.

중요

로깅 프로필에 대해 이 로그 포맷터를 구성하는 경우 명령 시작은 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 대신 / subsystem=logging/ 입니다.

또한 관리형 도메인에서 실행 중인 경우 /profile=PROFILE_NAME 을 사용하여 명령 앞에 추가합니다.

패턴 포맷터 만들기

패턴 포맷터를 정의할 때 로그 메시지를 포맷하는 데 사용할 패턴 문자열을 제공합니다. 패턴 구문에 대한 자세한 내용은 패턴 형식 형식 문자를 참조하십시오.

/subsystem=logging/pattern-formatter=PATTERN_FORMATTER_NAME:add(pattern=PATTERN)

예를 들어 기본 구성에서는 서버 로그에 메시지를 기록하는 데 다음 로그 포맷터 문자열을 사용합니다. %d{yyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n. 이렇게 하면 아래와 같이 포맷된 로그 메시지가 생성됩니다.

2016-03-18 15:49:32,075 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990

색상 맵을 정의하여 다른 로그 수준에 컬러를 할당할 수도 있습니다. 형식은 쉼표로 구분된 LEVEL:COLOR 목록입니다.

  • 유효한 수준: shell,fine, fine,config,trace,debug,info,warning,warn,error,fatal,severe
  • 유효한 색상: 블랙,녹색,빨간색,노란색,파란색, magenta, cyan,화이트, Brightblack, Brightred, Brightgreen, Brightblue, Brightyellow, Brightmagenta,Brightcyan,Brightwhite
/subsystem=logging/pattern-formatter=PATTERN_FORMATTER_NAME:write-attribute(name=color-map,value="LEVEL:COLOR,LEVEL:COLOR")

관리 콘솔을 사용하여 패턴 로그 포맷터를 구성할 수도 있습니다.

  1. 브라우저에서 관리 콘솔을 엽니다.
  2. 구성 하위 시스템 로깅 을 선택합니다.
  3. Configuration(구성) 을 선택한 다음 View(보기 )를 클릭합니다.
  4. Formatter를 선택한 다음 Pattern Formatter(패턴 형식) 옵션을 선택합니다.

11.7.2. JSON 로그 포맷터 구성

JSON 로그 포맷터를 생성하여 JSON에서 로그 메시지를 포맷할 수 있습니다.

중요

로깅 프로필에 대해 이 로그 포맷터를 구성하는 경우 명령 시작은 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 대신 / subsystem=logging/ 입니다.

또한 관리형 도메인에서 실행 중인 경우 /profile=PROFILE_NAME 을 사용하여 명령 앞에 추가합니다.

JSON 로그 포맷터 추가
/subsystem=logging/json-formatter=JSON_FORMATTER_NAME:add(pretty-print=true, exception-output-type=formatted)

이렇게 하면 아래와 같이 포맷된 로그 메시지가 생성됩니다.

{
    "timestamp": "2018-10-18T13:53:43.031-04:00",
    "sequence": 62,
    "loggerClassName": "org.jboss.as.server.logging.ServerLogger_$logger",
    "loggerName": "org.jboss.as",
    "level": "INFO",
    "message": "WFLYSRV0025: JBoss EAP 7.4.0.GA (WildFly Core 15.0.2.Final-redhat-00001) started in 5227ms - Started 317 of 556 services (343 services are lazy, passive or on-demand),
    "threadName": "Controller Boot Thread",
    "threadId": 22,
    "mdc": {
    },
    "ndc": "",
    "hostName": "localhost.localdomain",
    "processName": "jboss-modules.jar",
    "processId": 7461
}
Logstash JSON 로그 포맷터 추가
참고

JSON 로그 포맷터 출력 키를 수정하고 정적 메타데이터를 추가할 수 있습니다. JSON 로그 포맷터의 주요 용도는 JSON에서 로그 메시지를 포맷하는 것입니다. Logstash는 이 JSON 출력을 사용하고 @timestamp@version 필드를 검색합니다. 다음 예제에서는 Logstash에 대한 메시지를 포맷하는 JSON 로그 포맷터를 생성합니다.

/subsystem=logging/json-formatter=logstash:add(exception-output-type=formatted, key-overrides=[timestamp="@timestamp"], meta-data=[@version=1])

아래에 설명된 JSON formatter 속성을 사용할 수 있습니다.

  • key-overrides 특성을 사용하여 정의된 키 이름을 재정의할 수 있습니다.
  • 예외는 exception-output-type 특성을 포맷으로 설정하여 오브젝트로 포맷 할 수 있습니다.
  • exception -output-type 특성을 detailed로 설정하여 예외 스택 추적을 포함할 수 있습니다 .
  • 예외는 exception-output-type을 details- and- formatted 로 설정하여 오브젝트 및 스택 추적으로 포맷할 수 있습니다.
  • meta-data 특성을 사용하여 메타데이터를 로그 레코드에 추가할 수 있습니다.

JSON 포맷터 속성에 대한 자세한 내용은 JSON 로그 포맷터 속성 에서 참조하십시오.

관리 콘솔을 사용하여 JSON 로그 포맷터를 구성할 수도 있습니다.

  1. 브라우저에서 관리 콘솔을 엽니다.
  2. 구성 하위 시스템 로깅 을 선택합니다.
  3. Configuration(구성) 을 선택한 다음 View(보기 )를 클릭합니다.
  4. Formatter를 선택한 다음 JSON Formatter 옵션을 선택합니다.

11.7.3. XML 로그 포맷터 구성

XML 로그 포맷터를 생성하여 XML로 로그 메시지를 포맷할 수 있습니다.

중요

로깅 프로필에 대해 이 로그 포맷터를 구성하는 경우 명령 시작은 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 대신 / subsystem=logging/ 입니다.

또한 관리형 도메인에서 실행 중인 경우 /profile=PROFILE_NAME 을 사용하여 명령 앞에 추가합니다.

XML 로그 포맷터 추가
/subsystem=logging/xml-formatter=XML_FORMATTER_NAME:add(pretty-print=true, exception-output-type=detailed-and-formatted)

이렇게 하면 아래와 같이 로그 메시지가 생성됩니다.

<record>
    <timestamp>2018-10-18T13:55:53.419-04:00</timestamp>
    <sequence>62</sequence>
    <loggerClassName>org.jboss.as.server.logging.ServerLogger_$logger</loggerClassName>
    <loggerName>org.jboss.as</loggerName>
    <level>INFO</level>
    <message>WFLYSRV0025: {ProductCurrentVersionExamples} (WildFly Core 10.0.0.Final-redhat-20190924) started in 6271ms - Started 495 of 679 services (331 services are lazy, passive or on-demand)</message>
    <threadName>Controller Boot Thread</threadName>
    <threadId>22</threadId>
    <mdc>
    </mdc>
    <ndc></ndc>
    <hostName>localhost.localdomain</hostName>
    <processName>jboss-modules.jar</processName>
    <processId>7790</processId>
</record>
키 재정의 XML 로그 포맷 추가
/subsystem=logging/xml-formatter=XML_FORMATTER_NAME:add(pretty-print=true, print-namespace=true, namespace-uri="urn:custom:1.0", key-overrides={message=msg, record=logRecord, timestamp=date}, print-details=true)

아래 설명된 XML formatter 속성을 사용할 수 있습니다.

  • key-overrides 특성을 사용하여 정의된 키 이름을 재정의할 수 있습니다.
  • 예외는 exception-output-type 특성을 포맷으로 설정하여 오브젝트로 포맷 할 수 있습니다.
  • exception -output-type 특성을 detailed로 설정하여 예외 스택 추적을 포함할 수 있습니다 .
  • 예외는 exception-output-type을 details- and- formatted 로 설정하여 오브젝트 및 스택 추적으로 포맷할 수 있습니다.
  • meta-data 특성을 사용하여 메타데이터를 로그 레코드에 추가할 수 있습니다.

XML formatter 속성에 대한 자세한 내용은 XML Log Formatter Attributes 를 참조하십시오.

관리 콘솔을 사용하여 XML 로그 포맷터를 구성할 수도 있습니다.

  1. 브라우저에서 관리 콘솔을 엽니다.
  2. 구성 하위 시스템 로깅 을 선택합니다.
  3. Configuration(구성) 을 선택한 다음 View(보기 )를 클릭합니다.
  4. Formatter를 선택한 다음 XML Formatter 옵션을 선택합니다.

11.7.4. 사용자 정의 로그 포맷터 구성

로그 핸들러에서 로그 메시지를 포맷하기 위해 사용할 수 있는 사용자 지정 로그 포맷터를 생성할 수 있습니다.

이 섹션에서는 관리 CLI를 사용하여 사용자 지정 로그 포맷터를 구성하는 방법을 보여줍니다.

사용자 정의 로그 포맷터 구성
중요

로깅 프로필에 대해 이 로그 포맷터를 구성하는 경우 명령 시작은 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 대신 / subsystem=logging/ 입니다.

또한 관리형 도메인에서 실행 중인 경우 /profile=PROFILE_NAME 을 사용하여 명령 앞에 추가합니다.

  1. 사용자 지정 로그 포맷터를 추가합니다.

    사용자 정의 로그 포맷터를 추가할 때 formatter 및 여기에 포함된 JBoss EAP 모듈을 Java 클래스로 지정해야 합니다. 클래스는 java.util.logging.Formatter를 확장해야 합니다.

    참고

    사용자 지정 formatter가 포함된 모듈을 이미 생성했으므로 이 명령이 실패합니다.

    /subsystem=logging/custom-formatter=CUSTOM_FORMATTER_NAME:add(class=CLASS_NAME, module=MODULE_NAME)
  2. 로그 포맷터에 필요한 속성을 설정합니다.

    속성은 setter 메서드를 사용하여 액세스할 수 있어야 합니다.

    /subsystem=logging/custom-formatter=CUSTOM_FORMATTER_NAME:write-attribute(name=properties.PROPERTY_NAME,value=PROPERTY_VALUE)
  3. 사용자 지정 포맷터를 로그 핸들러에 할당합니다.

    다음 관리 CLI 명령은 주기적인 회전 파일 핸들러에서 사용할 사용자 지정 포맷터를 할당합니다.

    /subsystem=logging/periodic-rotating-file-handler=FILE_HANDLER_NAME:write-attribute(name=named-formatter, value=CUSTOM_FORMATTER_NAME)
사용자 지정 XML Formatter 예

다음 예제에서는 사용자 지정 XML 포맷터를 구성합니다. org.jboss .logmanager 모듈에 제공된 java.util.logging. XMLFormatter 클래스를 사용하여 콘솔 로그 핸들러에 할당합니다.

/subsystem=logging/custom-formatter=custom-xml-formatter:add(class=java.util.logging.XMLFormatter, module=org.jboss.logmanager)
/subsystem=logging/console-handler=CONSOLE:write-attribute(name=named-formatter, value=custom-xml-formatter)

이 포맷터를 사용하는 로그 메시지는 다음과 같이 포맷됩니다.

<record>
  <date>2016-03-23T12:58:13</date>
  <millis>1458752293091</millis>
  <sequence>93963</sequence>
  <logger>org.jboss.as</logger>
  <level>INFO</level>
  <class>org.jboss.as.server.BootstrapListener</class>
  <method>logAdminConsole</method>
  <thread>22</thread>
  <message>WFLYSRV0051: Admin console listening on http://%s:%d</message>
  <param>127.0.0.1</param>
  <param>9990</param>
</record>
관리 콘솔을 사용하여 사용자 정의 로그 포맷터 구성

관리 콘솔을 사용하여 로그 포맷터를 구성할 수도 있습니다.

  1. 브라우저에서 관리 콘솔을 엽니다.
  2. 구성 하위 시스템 로깅 을 선택합니다.
  3. Configuration(구성) 을 선택한 다음 View(보기 )를 클릭합니다.
  4. Formatter를 선택한 다음 Custom Formatter(사용자 지정 형식) 옵션을 선택합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동