10.7. 로그 형식ter 구성
로그 포맷터는 처리기의 로그 메시지 모양을 정의합니다.
로깅 하위 시스템을 사용하면 다음과 같은 유형의 로그 포맷을 구성할 수 있습니다.
10.7.1. 패턴 포맷터 구성 링크 복사링크가 클립보드에 복사되었습니다!
로그 처리기에서 로그 메시지를 포맷하는 데 사용할 이름이 지정된 패턴 포맷터를 생성할 수 있습니다.
관리 CLI를 사용하여 JBoss EAP에서 패턴 포맷터를 구성할 수 있습니다. 또는 Configuration > Cryostats > Logging > Configuration, View 를 클릭하고 Formatter를 선택한 다음 Pattern Formatter 옵션을 선택하여 관리 콘솔을 통해 구성할 수 있습니다.
로깅 프로필에 대해 이 로그 포맷터를 구성하는 경우 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 대신 /subsystem=logging/ 으로 명령을 시작합니다.
또한 관리형 도메인에서 실행 중인 경우 명령 앞에 /profile=PROFILE_NAME.
사전 요구 사항
- JBoss EAP가 실행 중입니다.
- 관리 CLI에 액세스할 수 있습니다.
프로세스
다음 명령을 사용하여 패턴 포맷터를 생성합니다.
/subsystem=logging/pattern-formatter=PATTERN_FORMATTER_NAME:add(pattern=PATTERN)패턴 포맷터를 정의할 때 로그 메시지를 포맷하는 패턴 문자열을 제공합니다. 예를 들어 기본 구성에서는 서버 로그 메시지에 다음과 같은 로그 포맷터 문자열을 사용합니다.
%d{yyy-MM-dd HH:mm:ss,SSS} %-5p [%t] (%t) %s%e%e%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다음 명령을 사용하여 패턴 포맷터의 색상 맵을 설정합니다.
/subsystem=logging/pattern-formatter=PATTERN_FORMATTER_NAME:write-attribute(name=color-map,value="LEVEL:COLOR,LEVEL:COLOR")다른 로그 수준에 색상을 할당할 색상 맵을 정의합니다. 형식은 쉼표로 구분된
LEVEL:COLOR목록입니다.-
유효한 수준: finer ,
finer, finer ,config,trace,debug,info,warning,warn,error,fatal,severe -
유효한 색상: ,
녹색,빨간색,노란색,파란색,cyan,흰색,광고색 ,굵은색녹색, Valblue , lightblue , lightblue, wideyellow, wideyelagenta , lightcyan , lightcyan.
-
유효한 수준: finer ,
10.7.2. JSON 로그 포맷터 구성 링크 복사링크가 클립보드에 복사되었습니다!
JSON 로그 포맷터를 생성하여 JSON에서 로그 메시지를 포맷할 수 있습니다.
관리 CLI를 사용하여 JBoss EAP에서 JSON 로그 포맷터를 구성할 수 있습니다. 또는 Configuration > Cryostats > Logging > Configuration, View 를 클릭하고 Formatter를 선택한 다음 JSON Formatter 옵션을 선택하여 관리 콘솔을 통해 구성할 수 있습니다.
로깅 프로필에 대해 이 로그 포맷터를 구성하는 경우 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 대신 /subsystem=logging/ 으로 명령을 시작합니다.
또한 관리형 도메인에서 실행 중인 경우 명령 앞에 /profile=PROFILE_NAME.
사전 요구 사항
- JBoss EAP가 실행 중입니다.
- 관리 CLI에 액세스할 수 있습니다.
프로세스
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 8.1.0.GA (WildFly Core 21.0.5.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 로그 포맷터를 추가합니다.
/subsystem=logging/json-formatter=logstash:add(exception-output-type=formatted, key-overrides=[timestamp="@timestamp"], meta-data=[@version=1])참고JSON 로그 포맷터 출력 키를 수정하고 정적 메타데이터를 추가할 수 있습니다. JSON 로그 포맷터의 기본 목적은 JSON에서 로그 메시지를 포맷하는 것입니다. Logstash는 이 JSON 출력을 사용하고
@timestamp및@version필드를 검색합니다. 다음 예제에서는 Logstash에 대한 메시지를 포맷하는 JSON 로그 포맷터를 생성합니다.다음과 같이 JSON 포맷터 속성을 사용할 수 있습니다.
-
key-overrides속성은 정의된 키의 이름을 재정의합니다. -
exception-output-type속성을 포맷으로 설정하여 예외를 오브젝트로 포맷합니다. -
exception-output-type특성을자세히설정하여 예외 스택 추적을 포함합니다. -
예외를 오브젝트로
포맷하고포맷으로 설정하여 스택 추적을 포함합니다.exception-output-type을 세부 및 -
meta-data특성을 사용하여 레코드를 기록하기 위해 메타데이터를 추가합니다.
-
10.7.3. XML 로그 포맷터 구성 링크 복사링크가 클립보드에 복사되었습니다!
XML 로그 포맷터를 만들어 XML로 로그 메시지를 포맷할 수 있습니다.
관리 CLI를 사용하여 JBoss EAP에서 XML 로그 포맷터를 구성할 수 있습니다. 또는 Configuration
로깅 프로필에 대해 이 로그 포맷터를 구성하는 경우 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 대신 /subsystem=logging/ 으로 명령을 시작합니다.
또한 관리형 도메인에서 실행 중인 경우 명령 앞에 /profile=PROFILE_NAME.
사전 요구 사항
- JBoss EAP가 실행 중입니다.
- 관리 CLI에 액세스할 수 있습니다.
프로세스
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 포맷터 속성을 사용할 수 있습니다.
-
key-overrides속성은 정의된 키의 이름을 재정의합니다. -
exception-output-type속성을 포맷으로 설정하여 예외를 오브젝트로 포맷합니다. -
exception-output-type특성을자세히설정하여 예외 스택 추적을 포함합니다. -
예외를 오브젝트로
포맷하고포맷으로 설정하여 스택 추적을 포함합니다.exception-output-type을 세부 및 -
meta-data특성을 사용하여 레코드를 기록하기 위해 메타데이터를 추가합니다.
-
10.7.4. 사용자 정의 로그 포맷터 구성 링크 복사링크가 클립보드에 복사되었습니다!
로그 처리기에서 로그 메시지를 포맷하는 데 사용할 사용자 지정 로그 포맷터를 생성할 수 있습니다.
관리 CLI를 사용하여 JBoss EAP에서 사용자 지정 로그 포맷터를 구성할 수 있습니다. 또는 Configuration > Cryostats > Logging > Configuration, View 를 클릭하고 Formatter를 선택한 다음 Custom Formatter 옵션을 선택하여 관리 콘솔을 통해 구성할 수 있습니다.
로깅 프로필에 대해 이 로그 포맷터를 구성하는 경우 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 대신 /subsystem=logging/ 으로 명령을 시작합니다.
또한 관리형 도메인에서 실행 중인 경우 명령 앞에 /profile=PROFILE_NAME.
사전 요구 사항
- JBoss EAP가 실행 중입니다.
- 관리 CLI에 액세스할 수 있습니다.
프로세스
다음 명령을 사용하여 사용자 정의 로그 포맷터를 추가합니다.
/subsystem=logging/custom-formatter=CUSTOM_FORMATTER_NAME:add(class=CLASS_NAME, module=MODULE_NAME)참고사용자 지정 로그 포맷터를 추가할 때 포맷터의 Java 클래스와 이를 포함하는 JBoss EAP 모듈을 지정합니다. 이 클래스는
java.util.logging.Formatter를 확장해야 합니다. 사용자 지정 로거 가 포함된 모듈을 생성 했는지 확인합니다. 그렇지 않으면 이 명령이 실패합니다.다음 명령을 사용하여 로그 포맷터의 속성을 설정합니다.
/subsystem=logging/custom-formatter=CUSTOM_FORMATTER_NAME:write-attribute(name=properties.PROPERTY_NAME,value=PROPERTY_VALUE)속성은 setter 방법을 사용하여 액세스할 수 있어야 합니다.
다음 명령을 사용하여 사용자 지정 포맷터를 로그 처리기에 할당합니다.
/subsystem=logging/periodic-rotating-file-handler=FILE_HANDLER_NAME:write-attribute(name=named-formatter, value=CUSTOM_FORMATTER_NAME)이 명령은 주기적인 회전 파일 처리기에서 사용할 사용자 지정 포맷터를 할당합니다.
다음 예제에서는 사용자 지정 XML 포맷터를 구성합니다. org.jboss 클래스를 사용하여 콘솔 로그 처리기에 할당합니다.
.logmanager 모듈에 제공된 java.util.logging.19Formatter
예
/subsystem=logging/custom-formatter=custom-xml-formatter:add(class=java.util.logging.XMLFormatter, module=java.logging)
/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>