12.7. 配置日志格式
日志格式器定义来自该处理程序的日志消息的外观。您可以配置 命名模式 formatter 或 自定义日志格式ter。
12.7.1. 配置指定模式格式
您可以创建一个命名模式格式器,可在日志处理程序之间用于格式化日志消息。
本节介绍如何使用管理 CLI 配置日志格式。您还可以通过从 Configuration 选项卡中导航到 Logging 子系统,选择 Formatter 选项卡并从左侧菜单中选择 Pattern,来使用管理控制台配置日志格式。
如果您要为日志记录配置集配置此日志格式,命令的开头为 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/
而不是 /subsystem=logging/
。
另外,如果您在受管域中运行,请在命令前使用 /profile=PROFILE_NAME
。
创建指定格式
在定义 formatter 时,您可以提供一个用于格式化日志消息的模式字符串。有关 模式语法的更多信息,请参阅日志格式ter。
/subsystem=logging/pattern-formatter=PATTERN_FORMATTER_NAME:add(pattern=PATTERN_STRING)
您还可以定义一个颜色映射,将颜色分配给不同的日志级别。格式是 LEVEL:COLOR
的逗号分隔列表。
-
有效级别:e
fine ,
fine,
fine
,config
,trace
,debug
,info
,warning
,warn
, error ,error
,fatal
,severe
-
有效颜色:
黑色
、绿色
、红色
、黄色
、蓝色
、magenta
、cyan
、wightblack、brightblack
、brightgreen ,
brightgreen
,
,bright
yellowbrightmagenta
, brightcyan
,bright
white
/subsystem=logging/pattern-formatter=PATTERN_FORMATTER_NAME:write-attribute(name=color-map,value="LEVEL:COLOR,LEVEL:COLOR")
将指定格式器分配给日志处理程序
以下管理 CLI 命令分配供定期轮转文件处理程序使用的模式格式器。
/subsystem=logging/periodic-rotating-file-handler=FILE_HANDLER_NAME:write-attribute(name=named-formatter,value=PATTERN_FORMATTER_NAME)
12.7.2. 配置自定义日志格式
您可以创建自定义日志格式器,该格式可在日志处理程序之间用于格式化日志消息。
本节介绍如何使用管理 CLI 配置自定义日志格式。您还可以通过从 Configuration 选项卡中导航到 Logging 子系统,选择 Formatter 选项卡并从左侧菜单中选择 Custom,来使用管理控制台配置日志格式。
配置自定义日志格式
如果您要为日志记录配置集配置此日志格式,命令的开头为 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/
而不是 /subsystem=logging/
。
另外,如果您在受管域中运行,请在命令前使用 /profile=PROFILE_NAME
。
添加自定义日志格式器。
添加自定义日志格式器时,您必须指定 formatter 的 Java 类以及其中包含它的 JBoss EAP 模块。类必须扩展
java.util.logging.Formatter
。注意您必须已创建了包含自定义格式的模块,否则这个命令将失败。
/subsystem=logging/custom-formatter=CUSTOM_FORMATTER_NAME:add(class=CLASS_NAME, module=MODULE_NAME)
设置日志格式器的必要属性。
属性必须能够通过 setter 方法访问。
/subsystem=logging/custom-formatter=CUSTOM_FORMATTER_NAME:write-attribute(name=properties.PROPERTY_NAME,value=PROPERTY_VALUE)
将自定义格式器分配给日志处理程序。
以下管理 CLI 命令分配由定期轮转文件处理程序使用的自定义格式器。
/subsystem=logging/periodic-rotating-file-handler=FILE_HANDLER_NAME:write-attribute(name=named-formatter, value=CUSTOM_FORMATTER_NAME)
自定义 XML 格式器示例
以下示例配置了一个自定义 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>