10.5. 配置日志处理程序
日志处理程序定义如何记录捕获的日志消息。
请参阅配置特定日志处理器的适当部分:
10.5.1. 配置控制台日志处理程序 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 在 JBoss EAP 中配置控制台日志处理程序。或者,您可以通过管理控制台配置它们,导航到 Configuration > Subsystems > Logging > Configuration,点 View,然后选择 Handler > Console Handler。
您可以执行以下任务来配置控制台日志处理器:
- 添加新的控制台日志处理程序
- 配置控制台日志处理程序设置
- 将控制台日志处理程序分配给日志记录器
如果您为日志记录配置集配置此日志处理器,请使用 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 而不是 /subsystem=logging/ 来启动该命令。
另外,如果您在受管域中运行,请在命令前面加上 /profile=PROFILE_NAME。
先决条件
- JBoss EAP 正在运行。
- 您可以访问管理 CLI。
流程
使用以下命令添加控制台日志处理器:
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:add
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以根据您的需要设置一个或多个控制台日志处理器属性:
使用以下命令为处理器设置日志级别:
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=level,value=LEVEL)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认值为
ALL。使用以下命令为处理器设置目标:
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=target,value=TARGET)
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=target,value=TARGET)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 目标可以是
System.out、System.err或console。默认为System.out。使用以下命令,设置处理程序的编码,如
utf-8。/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令为处理器设置 formatter 字符串:
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,默认格式字符串为
%d{HH:mm:ss,SSS} %-5p [%c](%t)%s%e%n。将FORMAT值用引号括起来。注意如果要引用 保存的格式器,请使用
named-formatter属性。使用以下命令设置自动清除:
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定在每次写入后是否自动清除。默认值为
true。使用以下命令设置过滤器表达式:
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将
FILTER_EXPRESSION变量替换为"not (match (\"WFLY\")) ",以创建not (match ("WFLY")的过滤器表达式。
使用以下命令将控制台日志处理程序分配给日志记录器:
/subsystem=logging/root-logger=ROOT:add-handler(name=CONSOLE_HANDLER_NAME)
/subsystem=logging/root-logger=ROOT:add-handler(name=CONSOLE_HANDLER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要激活日志处理程序,您可以将控制台日志处理程序分配给根日志记录器或任何其他日志记录器。
如果需要,您可以使用以下命令使用
remove操作来删除日志处理程序:/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:remove
/subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 async 日志处理程序,则无法删除日志处理程序。
后续步骤
10.5.2. 配置文件日志处理程序 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 在 JBoss EAP 中配置文件日志处理程序。或者,您可以通过管理控制台配置它们,导航到 Configuration > Subsystems > Logging > Configuration,点 View,然后选择 Handler > File Handler。
您可以执行以下任务来配置文件日志处理器:
- 添加新文件日志处理程序
- 配置文件日志处理程序设置
- 将文件日志处理程序分配给日志记录器
如果您为日志记录配置集配置此日志处理器,请使用 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 而不是 /subsystem=logging/ 来启动该命令。
另外,如果您在受管域中运行,请在命令前面加上 /profile=PROFILE_NAME。
先决条件
- JBoss EAP 正在运行。
- 您可以访问管理 CLI。
流程
使用以下命令添加文件日志处理器:
/subsystem=logging/file-handler=FILE_HANDLER_NAME:add(file={path=FILE_PATH,relative-to=RELATIVE_TO_PATH})/subsystem=logging/file-handler=FILE_HANDLER_NAME:add(file={path=FILE_PATH,relative-to=RELATIVE_TO_PATH})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当您添加文件日志处理程序时,请使用
file属性指定文件路径,该属性由path和relative-to属性组成。使用path属性设置日志文件路径,包括文件名,如my-log.log。(可选)使用relative-to属性来指示路径相对于命名路径,如jboss.server.log.dir。您可以根据您的需要设置一个或多个文件日志处理器属性:
使用以下命令为处理器设置日志级别:
/subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
/subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=level,value=LEVEL)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认值为
ALL。使用以下命令为处理器设置附加行为:
/subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=append,value=APPEND)
/subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=append,value=APPEND)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
append属性设置为false,以在服务器重启时覆盖文件。默认情况下,JBoss EAP 在服务器重启时将日志消息附加到同一文件中。使用以下命令设置处理程序的编码,如
utf-8:/subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
/subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令为处理器设置 formatter 字符串:
/subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)
/subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,默认格式字符串为
%d{HH:mm:ss,SSS} %-5p [%c](%t)%s%e%n。将FORMAT值用引号括起来。注意如果要引用 保存的格式器,请使用
named-formatter属性。使用以下命令设置自动清除:
/subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)
/subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定在每次写入后是否自动清除。默认值为
true。使用以下命令设置过滤器表达式:
/subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
/subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将
FILTER_EXPRESSION变量替换为"not (match (\"WFLY\")) ",以创建not (match ("WFLY")的过滤器表达式。
使用以下命令将文件日志处理程序分配给日志记录器:
/subsystem=logging/root-logger=ROOT:add-handler(name=FILE_HANDLER_NAME)
/subsystem=logging/root-logger=ROOT:add-handler(name=FILE_HANDLER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 若要激活日志处理程序,您可以将文件日志处理程序分配给根日志记录器或任何其他日志记录器。
使用以下命令,将文件日志处理程序分配给名为
CATEGORY的特定日志记录器:/subsystem=logging/logger=CATEGORY:add-handler(name=FILE_HANDLER_NAME)
/subsystem=logging/logger=CATEGORY:add-handler(name=FILE_HANDLER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
CATEGORY替换为您要为其分配文件日志处理程序的日志记录器的名称。如果需要,您可以使用以下命令使用
remove操作来删除日志处理程序:/subsystem=logging/file-handler=FILE_HANDLER_NAME:remove
/subsystem=logging/file-handler=FILE_HANDLER_NAME:removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 async 日志处理程序,则无法删除日志处理程序。
10.5.3. 配置定期轮转日志处理程序 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 在 JBoss EAP 中配置定期轮转日志处理程序。或者,您可以通过管理控制台配置它们,导航到 Configuration > Subsystems > Logging > Configuration,点 View,然后选择 Handler > Periodic Handler。
您可以执行以下任务来配置定期轮转日志处理器:
- 添加新的定期轮转日志处理程序
- 配置定期轮转日志处理程序设置
- 将定期轮转日志处理程序分配给日志记录器
如果您为日志记录配置集配置此日志处理器,请使用 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 而不是 /subsystem=logging/ 来启动该命令。
另外,如果您在受管域中运行,请在命令前面加上 /profile=PROFILE_NAME。
先决条件
- JBoss EAP 正在运行。
- 您可以访问管理 CLI。
流程
使用以下命令添加定期轮转日志处理器:
/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:add(file={path=FILE_PATH,relative-to=RELATIVE_TO_PATH},suffix=SUFFIX)/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:add(file={path=FILE_PATH,relative-to=RELATIVE_TO_PATH},suffix=SUFFIX)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当您添加定期轮转日志处理程序时,请使用
file属性指定文件路径,该属性由path和relative-to属性组成。使用path属性设置日志文件路径,包括文件名,如my-log.log。(可选)使用relative-to属性来指示路径相对于命名路径,如jboss.server.log.dir。您必须使用 suffix 属性为轮转日志设置
后缀。后缀必须采用java.text.SimpleDateFormat可以理解的格式,如.yyyy-MM-dd-HH。轮转周期会根据此后缀自动计算。您可以根据您的需要设置一个或多个定期轮转日志处理器属性:
使用以下命令为处理器设置日志级别:
/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=level,value=LEVEL)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认值为
ALL。使用以下命令为处理器设置附加行为:
/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=append,value=APPEND)
/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=append,value=APPEND)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
append属性设置为false,以在服务器重启时覆盖文件。默认情况下,JBoss EAP 在服务器重启时将日志消息附加到同一文件中。使用以下命令,设置处理程序的编码,如
utf-8。/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令为处理器设置 formatter 字符串:
/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)
/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,默认格式字符串为
%d{HH:mm:ss,SSS} %-5p [%c](%t)%s%e%n。将FORMAT值用引号括起来。注意如果要引用 保存的格式器,请使用
named-formatter属性。使用以下命令设置自动清除:
/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)
/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定在每次写入后是否自动清除。默认值为
true。使用以下命令设置过滤器表达式:
/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将
FILTER_EXPRESSION变量替换为"not (match (\"WFLY\")) ",以创建not (match ("WFLY")的过滤器表达式。
使用以下命令,将定期轮转日志处理器分配给日志记录器:
/subsystem=logging/root-logger=ROOT:add-handler(name=PERIODIC_HANDLER_NAME)
/subsystem=logging/root-logger=ROOT:add-handler(name=PERIODIC_HANDLER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要激活日志处理程序,您可以将定期轮转日志处理程序分配给根日志记录器或任何其他日志记录器。
如果需要,您可以使用以下命令使用
remove操作来删除日志处理程序:/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:remove
/subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 async 日志处理程序,则无法删除日志处理程序。
后续步骤
10.5.4. 配置大小轮转日志处理程序 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 在 JBoss EAP 中配置大小日志处理程序。或者,您可以通过管理控制台配置它们,导航到 Configuration > Subsystems > Logging > Configuration,点 View,然后选择 Handler > Size Handler。
您可以执行以下任务来配置大小日志处理器:
- 添加新的大小日志处理程序
- 配置大小日志处理程序设置
- 将 size 日志处理程序分配给日志记录器
如果您为日志记录配置集配置此日志处理器,请使用 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 而不是 /subsystem=logging/ 来启动该命令。
另外,如果您在受管域中运行,请在命令前面加上 /profile=PROFILE_NAME。
先决条件
- JBoss EAP 正在运行。
- 您可以访问管理 CLI。
流程
使用以下命令添加大小日志处理器:
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:add(file={path=FILE_PATH,relative-to=RELATIVE_TO_PATH})/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:add(file={path=FILE_PATH,relative-to=RELATIVE_TO_PATH})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当您添加大小日志处理程序时,请使用
file属性指定文件路径,它由path和relative-to属性组成。使用path属性设置日志文件路径,包括文件名,如my-log.log。(可选)使用relative-to属性来指示路径相对于命名路径,如jboss.server.log.dir。您可以根据您的需要设置一个或多个大小日志处理器属性:
使用以下命令为处理器设置日志级别:
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=level,value=LEVEL)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认值为
ALL。使用以下命令为轮转的日志设置后缀:
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=suffix, value=SUFFIX)
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=suffix, value=SUFFIX)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果指定,后缀必须采用
java.text.SimpleDateFormat可以理解的格式,如.yyyy-MM-dd-HH。后缀对于size-rotating-file-handler是可选的。它表示文件轮转的时间,而不是轮转周期本身。使用以下命令,设置处理程序的编码,如
utf-8。/subsystem=logging/size-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
/subsystem=logging/size-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令设置轮转大小:
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=rotate-size, value=ROTATE_SIZE)
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=rotate-size, value=ROTATE_SIZE)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在轮转前设置最大文件大小。默认值为
2m,表示 2MB。使用以下命令设置要保留的最大备份日志数:
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=max-backup-index, value=MAX_BACKUPS)
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=max-backup-index, value=MAX_BACKUPS)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定要保留的备份数量。默认值为
1。注意根据大小限制而不是后缀进行轮转。如果定义了后缀,则会将其添加到轮转的文件中,但不会删除这些文件。只有在轮转过程中会删除达到大小限制的文件。
使用以下命令设置是否在引导时轮转日志:
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=rotate-on-boot, value=ROTATE_ON_BOOT)
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=rotate-on-boot, value=ROTATE_ON_BOOT)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认情况下,服务器重启时不会创建新的日志文件。把它设置为
true,以在服务器重启时轮转日志。使用以下命令为处理器设置附加行为:
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=append,value=APPEND)
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=append,value=APPEND)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
append属性设置为false,以在服务器重启时覆盖文件。默认情况下,JBoss EAP 在服务器重启时将日志消息附加到同一文件中。使用以下命令,设置处理程序的编码,如
utf-8。/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令为处理器设置 formatter 字符串:
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,默认格式字符串为
%d{HH:mm:ss,SSS} %-5p [%c](%t)%s%e%n。将FORMAT值用引号括起来。注意如果要引用 保存的格式器,请使用
named-formatter属性。使用以下命令设置自动清除:
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定在每次写入后是否自动清除。默认值为
true。使用以下命令设置过滤器表达式:
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将
FILTER_EXPRESSION变量替换为"not (match (\"WFLY\")) ",以创建not (match ("WFLY")的过滤器表达式。
使用以下命令,将大小日志处理程序分配给日志记录器:
/subsystem=logging/root-logger=ROOT:add-handler(name=SIZE_HANDLER_NAME)
/subsystem=logging/root-logger=ROOT:add-handler(name=SIZE_HANDLER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要激活日志处理程序,您可以将 size 日志处理程序分配给根日志记录器或任何其他日志记录器。
如果需要,您可以使用以下命令使用
remove操作来删除日志处理程序:/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:remove
/subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 async 日志处理程序,则无法删除日志处理程序。
后续步骤
10.5.5. 配置定期大小轮转日志处理程序 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 在 JBoss EAP 中配置定期大小轮转日志处理程序。或者,您可以通过管理控制台配置它们,导航到 Configuration > Subsystems > Logging > Configuration,点 View,然后选择 Handler > Periodic Size Handler。
您可以执行以下任务来配置定期大小日志处理器:
- 添加新的定期大小日志处理程序
- 配置定期大小日志处理程序设置
- 将定期大小日志处理程序分配给日志记录器
如果您为日志记录配置集配置此日志处理器,请使用 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 而不是 /subsystem=logging/ 来启动该命令。
另外,如果您在受管域中运行,请在命令前面加上 /profile=PROFILE_NAME。
先决条件
- JBoss EAP 正在运行。
- 您可以访问管理 CLI。
流程
使用以下命令添加定期大小日志处理器:
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:add(file={path=FILE_PATH,relative-to=RELATIVE_TO_PATH},suffix=SUFFIX)/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:add(file={path=FILE_PATH,relative-to=RELATIVE_TO_PATH},suffix=SUFFIX)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当您添加定期大小日志处理程序时,请使用
file属性指定文件路径,它由path和relative-to属性组成。使用path属性设置日志文件路径,包括文件名,如my-log.log。(可选)使用relative-to属性来指示路径相对于命名路径,如jboss.server.log.dir。您必须使用 suffix 属性为轮转日志设置
后缀。后缀必须采用java.text.SimpleDateFormat可以理解的格式,如.yyyy-MM-dd-HH。轮转周期会根据此后缀自动计算。您可以根据您的需要设置一个或多个定期大小日志处理器属性:
使用以下命令为处理器设置日志级别:
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=level,value=LEVEL)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认值为
ALL。使用以下命令设置轮转大小:
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=rotate-size, value=ROTATE_SIZE)
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=rotate-size, value=ROTATE_SIZE)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在轮转前设置最大文件大小。默认值为
2m,表示 2MB。使用以下命令设置要保留的最大备份日志数:
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=max-backup-index, value=MAX_BACKUPS)
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=max-backup-index, value=MAX_BACKUPS)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定要保留的备份数量。默认值为
1。注意当由后缀轮转时,轮转的文件不会被删除。只有在轮转过程中会删除轮转时,只有达到大小限制的文件。
使用以下命令设置是否在引导时轮转日志:
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=rotate-on-boot, value=ROTATE_ON_BOOT)
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=rotate-on-boot, value=ROTATE_ON_BOOT)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认情况下,服务器重启时不会创建新的日志文件。把它设置为
true,以在服务器重启时轮转日志。使用以下命令为处理器设置附加行为:
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=append,value=APPEND)
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=append,value=APPEND)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
append属性设置为false,以在服务器重启时覆盖文件。默认情况下,JBoss EAP 在服务器重启时将日志消息附加到同一文件中。使用以下命令,设置处理程序的编码,如
utf-8。/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令为处理器设置 formatter 字符串:
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,默认格式字符串为
%d{HH:mm:ss,SSS} %-5p [%c](%t)%s%e%n。将FORMAT值用引号括起来。注意如果要引用 保存的格式器,请使用
named-formatter属性。使用以下命令设置自动清除:
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定在每次写入后是否自动清除。默认值为
true。使用以下命令设置过滤器表达式:
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将
FILTER_EXPRESSION变量替换为"not (match (\"WFLY\")) ",以创建not (match ("WFLY")的过滤器表达式。
使用以下命令,将定期大小日志处理程序分配给日志记录器:
/subsystem=logging/root-logger=ROOT:add-handler(name=PERIODIC_SIZE_HANDLER_NAME)
/subsystem=logging/root-logger=ROOT:add-handler(name=PERIODIC_SIZE_HANDLER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要激活日志处理程序,您可以将定期大小日志处理程序分配给根日志记录器或任何其他日志记录器。
如果需要,您可以使用以下命令使用
remove操作来删除日志处理程序:/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:remove
/subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 async 日志处理程序,则无法删除日志处理程序。
后续步骤
10.5.6. 配置 syslog 处理程序 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 在 JBoss EAP 中配置 syslog 处理程序。此处理程序将消息发送到支持 Syslog 协议的远程日志服务器,可以是 RFC-3164 或 RFC-5424。或者,您可以通过管理控制台配置它们,导航到 Configuration > Subsystems > Logging > Configuration,点 View,然后选择 Handler > Syslog Handler。
您可以执行以下任务来配置 syslog 处理程序:
- 添加新的 syslog 处理程序
- 配置 syslog 处理程序设置
- 将 syslog 处理程序分配给日志记录器
如果您为日志记录配置集配置此日志处理器,请使用 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 而不是 /subsystem=logging/ 来启动该命令。
另外,如果您在受管域中运行,请在命令前面加上 /profile=PROFILE_NAME。
先决条件
- JBoss EAP 正在运行。
- 您可以访问管理 CLI。
流程
使用以下命令添加 syslog 处理程序:
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:add
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以根据您的需要设置一个或多个 syslog handler 属性:
使用以下命令为处理器设置日志级别:
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=level,value=LEVEL)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认值为
ALL。使用以下命令为日志记录设置应用程序名称:
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=app-name,value=APP_NAME)
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=app-name,value=APP_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认应用名称为
java。使用以下命令设置 syslog 服务器的地址:
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=server-address,value=SERVER_ADDRESS)
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=server-address,value=SERVER_ADDRESS)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认地址为
localhost。使用以下命令设置 syslog 服务器的端口:
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=port,value=PORT)
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=port,value=PORT)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认端口为
514。使用以下命令,根据 RFC 规格设置 syslog 格式:
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=syslog-format,value=SYSLOG_FORMAT)
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=syslog-format,value=SYSLOG_FORMAT)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认格式为
RFC5424。使用以下命令指定
named-formatter属性来格式化 syslog 有效负载消息:/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=named-formatter, value=FORMATTER_NAME)
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=named-formatter, value=FORMATTER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用以下命令将 syslog 处理程序分配给日志记录器:
/subsystem=logging/root-logger=ROOT:add-handler(name=SYSLOG_HANDLER_NAME)
/subsystem=logging/root-logger=ROOT:add-handler(name=SYSLOG_HANDLER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要激活日志处理程序,您可以将 syslog 处理程序分配给根日志记录器或任何其他日志记录器。
如果需要,您可以使用以下命令使用
remove操作来删除日志处理程序:/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:remove
/subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 async 日志处理程序,则无法删除日志处理程序。
后续步骤
10.5.7. 配置套接字日志处理程序 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 在 JBoss EAP 中配置套接字日志处理程序。处理程序通过 TCP 或 UDP 套接字发送消息。或者,您可以通过管理控制台配置它们,导航到 Configuration > Subsystems > Logging > Configuration,点 View,然后选择 Handler > Socket Handler。
如果服务器以 admin-only 模式启动,它会丢弃日志消息。
您可以执行以下任务来配置套接字日志处理器:
- 添加套接字绑定
- 添加日志格式器
- 添加套接字日志处理程序
- 配置设置
- 将套接字日志处理程序分配给日志记录器
如果您为日志记录配置集配置此日志处理器,请使用 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 而不是 /subsystem=logging/ 来启动该命令。
另外,如果您在受管域中运行,请在命令前面加上 /profile=PROFILE_NAME。
先决条件
- JBoss EAP 正在运行。
- 您可以访问管理 CLI。
流程
使用以下命令添加套接字绑定:
/socket-binding-group=SOCKET_BINDING_GROUP/remote-destination-outbound-socket-binding=SOCKET_BINDING_NAME:add(host=HOST, port=PORT)
/socket-binding-group=SOCKET_BINDING_GROUP/remote-destination-outbound-socket-binding=SOCKET_BINDING_NAME:add(host=HOST, port=PORT)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您可以将
remote-destination-outbound-socket-binding或local-destination-outbound-socket-binding定义为要使用的 套接字绑定。使用以下命令,添加要使用的 日志格式 器,如 JSON 格式:
/subsystem=logging/json-formatter=FORMATTER:add
/subsystem=logging/json-formatter=FORMATTER:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令指定使用的套接字绑定和格式ter来添加套接字日志处理器:
/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:add(outbound-socket-binding-ref=SOCKET_BINDING_NAME,named-formatter=FORMATTER)
/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:add(outbound-socket-binding-ref=SOCKET_BINDING_NAME,named-formatter=FORMATTER)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以根据您的需要设置一个或多个套接字日志处理器属性:
使用以下命令设置协议:
/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=protocol,value=PROTOCOL)
/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=protocol,value=PROTOCOL)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认协议是
TCP。使用以下命令为处理器设置日志级别:
/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=level,value=LEVEL)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认值为
ALL。注意在服务器启动期间,由套接字日志处理程序处理的日志消息排队,直到配置了套接字绑定并且
logging子系统已初始化为止。如果日志级别设置为 low,如TRACE或DEBUG,则可能会导致启动期间大量内存消耗。使用以下命令,设置处理程序的编码,如
utf-8。/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令设置自动清除:
/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)
/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定在每次写入后是否自动清除。默认值为
true。使用以下命令设置过滤器表达式:
/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将
FILTER_EXPRESSION变量替换为"not (match (\"WFLY\")) ",以创建not (match ("WFLY")的过滤器表达式。
使用以下命令将套接字日志处理程序分配给日志记录器:
/subsystem=logging/root-logger=ROOT:add-handler(name=SOCKET_HANDLER_NAME)
/subsystem=logging/root-logger=ROOT:add-handler(name=SOCKET_HANDLER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要激活日志处理程序,您可以将套接字日志处理程序分配给根日志记录器或任何其他日志记录器。
如果需要,您可以使用以下命令使用
remove操作来删除套接字日志处理器:/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:remove
/subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 async 日志处理程序,则无法删除日志处理程序。
后续步骤
10.5.7.1. 通过 SSL/TLS 发送套接字日志消息 复制链接链接已复制到粘贴板!
您可以设置套接字日志处理程序,以使用 SSL_TCP 协议通过套接字发送日志消息。此设置涉及在 elytron 子系统中配置密钥组件,包括密钥存储、信任管理器和客户端 SSL 上下文。此配置可确保通过指定的套接字从根日志记录器安全地传输日志消息,并且消息由 JSON 格式化。
先决条件
- JBoss EAP 正在运行。
流程
按照以下步骤配置 Elytron 设置:
使用以下命令添加密钥存储:
/subsystem=elytron/key-store=log-server-ks:add(path=/path/to/keystore.jks, type=JKS, credential-reference={clear-text=mypassword})/subsystem=elytron/key-store=log-server-ks:add(path=/path/to/keystore.jks, type=JKS, credential-reference={clear-text=mypassword})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令添加信任管理器:
/subsystem=elytron/trust-manager=log-server-tm:add(key-store=log-server-ks)
/subsystem=elytron/trust-manager=log-server-tm:add(key-store=log-server-ks)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令添加客户端 SSL 上下文:
/subsystem=elytron/client-ssl-context=log-server-context:add(trust-manager=log-server-tm, protocols=["TLSv1.2"])
/subsystem=elytron/client-ssl-context=log-server-context:add(trust-manager=log-server-tm, protocols=["TLSv1.2"])Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用以下命令添加套接字绑定:
/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=log-server:add(host=localhost, port=4560)
/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=log-server:add(host=localhost, port=4560)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令添加 JSON 格式:
/subsystem=logging/json-formatter=json:add
/subsystem=logging/json-formatter=json:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令添加套接字日志处理器:
/subsystem=logging/socket-handler=log-server-handler:add(named-formatter=json, level=INFO, outbound-socket-binding-ref=log-server, protocol=SSL_TCP, ssl-context=log-server-context)
/subsystem=logging/socket-handler=log-server-handler:add(named-formatter=json, level=INFO, outbound-socket-binding-ref=log-server, protocol=SSL_TCP, ssl-context=log-server-context)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令将日志处理程序分配给根日志记录器:
/subsystem=logging/root-logger=ROOT:add-handler(name=log-server-handler)
/subsystem=logging/root-logger=ROOT:add-handler(name=log-server-handler)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.5.8. 配置自定义日志处理程序 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 在 JBoss EAP 中配置自定义日志处理程序。或者,您可以通过管理控制台配置它们,导航到 Configuration > Subsystems > Logging > Configuration,点 View,然后选择 Handler > Custom Handler。
您可以执行以下任务来配置自定义日志处理器:
- 添加新的自定义日志处理程序
- 配置自定义日志处理程序设置
- 将自定义日志处理程序分配给日志记录器
如果您为日志记录配置集配置此日志处理器,请使用 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 而不是 /subsystem=logging/ 来启动该命令。
另外,如果您在受管域中运行,请在命令前面加上 /profile=PROFILE_NAME。
先决条件
- JBoss EAP 正在运行。
- 您可以访问管理 CLI。
流程
使用以下命令添加自定义日志处理器:
/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:add(class=CLASS_NAME,module=MODULE_NAME)
/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:add(class=CLASS_NAME,module=MODULE_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意添加自定义日志处理程序时,指定处理程序的 Java 类以及包含它的 JBoss EAP 模块。类必须扩展
java.util.logging.Handler。确保 您已创建了包含自定义日志记录器的模块,否则此命令将失败。
您可以根据您的需要设置一个或多个自定义日志处理器属性:
使用以下命令为处理器设置日志级别:
/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=level,value=LEVEL)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认值为
ALL。使用以下命令设置日志处理器的属性:
/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=properties.PROPERTY_NAME,value=PROPERTY_VALUE)
/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=properties.PROPERTY_NAME,value=PROPERTY_VALUE)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 属性必须使用 setter 方法访问。
使用以下命令,设置处理程序的编码,如
utf-8。/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令为处理器设置 formatter 字符串:
/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)
/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,默认格式字符串为
%d{HH:mm:ss,SSS} %-5p [%c](%t)%s%e%n。将FORMAT值用引号括起来。注意如果要引用 保存的格式器,请使用
named-formatter属性。使用以下命令设置过滤器表达式:
/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将
FILTER_EXPRESSION变量替换为"not (match (\"WFLY\")) ",以创建not (match ("WFLY")的过滤器表达式。
使用以下命令将自定义日志处理程序分配给日志记录器:
/subsystem=logging/root-logger=ROOT:add-handler(name=CUSTOM_HANDLER_NAME)
/subsystem=logging/root-logger=ROOT:add-handler(name=CUSTOM_HANDLER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要激活日志处理程序,您可以将处理程序分配给根日志记录器或任何其他日志记录器。
使用以下命令,将自定义日志处理程序分配给名为
CATEGORY的特定日志记录器:/subsystem=logging/logger=CATEGORY:add-handler(name=CUSTOM_HANDLER_NAME)
/subsystem=logging/logger=CATEGORY:add-handler(name=CUSTOM_HANDLER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
CATEGORY替换为您要为其分配自定义日志处理程序的日志记录器的名称。如果需要,您可以使用以下命令使用
remove操作来删除自定义日志处理器:/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:remove
/subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 async 日志处理程序,则无法删除日志处理程序。
后续步骤
10.5.9. 配置 async 日志处理程序 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 在 JBoss EAP 中配置 async 日志处理程序。或者,您可以通过管理控制台配置它们,导航到 Configuration > Subsystems > Logging > Configuration,点 View,然后选择 Handler > Async Handler。
您可以执行以下任务来配置 async 日志处理器:
- 添加新的 async 日志处理程序
- 将子处理程序添加到 async 日志处理程序
- 配置 async 日志处理程序设置
- 将 async 日志处理程序分配给日志记录器
如果您为日志记录配置集配置此日志处理器,请使用 /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ 而不是 /subsystem=logging/ 来启动该命令。
另外,如果您在受管域中运行,请在命令前面加上 /profile=PROFILE_NAME。
先决条件
- JBoss EAP 正在运行。
- 您可以访问管理 CLI。
流程
使用以下命令添加 async 日志处理器:
/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:add(queue-length=QUEUE_LENGTH)
/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:add(queue-length=QUEUE_LENGTH)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当您添加 async 日志处理程序时,请指定队列长度,这是在任何给定时间可以在队列中保留的最大日志请求数。
使用以下命令添加子处理程序:
/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:add-handler(name=HANDLER_NAME)
/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:add-handler(name=HANDLER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您可以添加一个或多个处理程序,作为此 async 日志处理程序的子处理程序。处理程序必须已存在于配置中,否则此命令将失败。
您可以根据您的需要设置一个或多个 async 日志处理器属性:
使用以下命令为处理器设置日志级别:
/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:write-attribute(name=level,value=LEVEL)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认值为
ALL。使用以下命令设置 overflow 操作:
/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:write-attribute(name=overflow-action,value=OVERFLOW_ACTION)
/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:write-attribute(name=overflow-action,value=OVERFLOW_ACTION)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认值为
BLOCK,这意味着如果队列已满,线程将阻止。您可以将此值更改为DISCARD,这意味着将删除最旧的日志消息,以适应完整队列时的新消息。使用以下命令设置过滤器表达式:
/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将
FILTER_EXPRESSION变量替换为"not (match (\"WFLY\")) ",以创建not (match ("WFLY")的过滤器表达式。
使用以下命令将 async 日志处理器分配给日志记录器:
/subsystem=logging/root-logger=ROOT:add-handler(name=ASYNC_HANDLER_NAME)
/subsystem=logging/root-logger=ROOT:add-handler(name=ASYNC_HANDLER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要激活日志处理程序,您可以将 async 日志处理程序分配给根日志记录器或任何其他日志记录器。
如果需要,您可以使用以下命令使用
remove操作来删除 async 日志处理器:/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:remove
/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器,则无法移除日志处理程序。