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。

流程

  1. 使用以下命令添加控制台日志处理器:

    /subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:add
    Copy to Clipboard Toggle word wrap
  2. 您可以根据您的需要设置一个或多个控制台日志处理器属性:

    • 使用以下命令为处理器设置日志级别:

      /subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
      Copy to Clipboard Toggle word wrap

      默认值为 ALL

    • 使用以下命令为处理器设置目标:

      /subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=target,value=TARGET)
      Copy to Clipboard Toggle word wrap

      目标可以是 System.outSystem.errconsole。默认为 System.out

    • 使用以下命令,设置处理程序的编码,如 utf-8

      /subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
      Copy to Clipboard Toggle word wrap
    • 使用以下命令为处理器设置 formatter 字符串:

      /subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)
      Copy to Clipboard Toggle word wrap

      例如,默认格式字符串为 %d{HH:mm:ss,SSS} %-5p [%c](%t)%s%e%n。将 FORMAT 值用引号括起来。

      注意
    • 使用以下命令设置自动清除:

      /subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)
      Copy to Clipboard Toggle word wrap

      指定在每次写入后是否自动清除。默认值为 true

    • 使用以下命令设置过滤器表达式:

      /subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
      Copy to Clipboard Toggle word wrap

      指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将 FILTER_EXPRESSION 变量替换为 "not (match (\"WFLY\") ) ",以创建 not (match ("WFLY")的过滤器表达式

  3. 使用以下命令将控制台日志处理程序分配给日志记录器:

    /subsystem=logging/root-logger=ROOT:add-handler(name=CONSOLE_HANDLER_NAME)
    Copy to Clipboard Toggle word wrap

    要激活日志处理程序,您可以将控制台日志处理程序分配给根日志记录器或任何其他日志记录器。

  4. 如果需要,您可以使用以下命令使用 remove 操作来删除日志处理程序:

    /subsystem=logging/console-handler=CONSOLE_HANDLER_NAME:remove
    Copy to Clipboard Toggle word wrap
    注意

    当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 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。

流程

  1. 使用以下命令添加文件日志处理器:

    /subsystem=logging/file-handler=FILE_HANDLER_NAME:add(file={path=FILE_PATH,relative-to=RELATIVE_TO_PATH})
    Copy to Clipboard Toggle word wrap
    注意

    当您添加文件日志处理程序时,请使用 file 属性指定文件路径,该属性由 pathrelative-to 属性组成。使用 path 属性设置日志文件路径,包括文件名,如 my-log.log。(可选)使用 relative-to 属性来指示路径相对于命名路径,如 jboss.server.log.dir

  2. 您可以根据您的需要设置一个或多个文件日志处理器属性:

    • 使用以下命令为处理器设置日志级别:

      /subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
      Copy to Clipboard Toggle word wrap

      默认值为 ALL

    • 使用以下命令为处理器设置附加行为:

      /subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=append,value=APPEND)
      Copy to Clipboard Toggle word wrap

      append 属性设置为 false,以在服务器重启时覆盖文件。默认情况下,JBoss EAP 在服务器重启时将日志消息附加到同一文件中。

    • 使用以下命令设置处理程序的编码,如 utf-8

      /subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
      Copy to Clipboard Toggle word wrap
    • 使用以下命令为处理器设置 formatter 字符串:

      /subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)
      Copy to Clipboard Toggle word wrap

      例如,默认格式字符串为 %d{HH:mm:ss,SSS} %-5p [%c](%t)%s%e%n。将 FORMAT 值用引号括起来。

      注意
    • 使用以下命令设置自动清除:

      /subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)
      Copy to Clipboard Toggle word wrap

      指定在每次写入后是否自动清除。默认值为 true

    • 使用以下命令设置过滤器表达式:

      /subsystem=logging/file-handler=FILE_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
      Copy to Clipboard Toggle word wrap

      指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将 FILTER_EXPRESSION 变量替换为 "not (match (\"WFLY\") ) ",以创建 not (match ("WFLY")的过滤器表达式

  3. 使用以下命令将文件日志处理程序分配给日志记录器:

    /subsystem=logging/root-logger=ROOT:add-handler(name=FILE_HANDLER_NAME)
    Copy to Clipboard Toggle word wrap

    若要激活日志处理程序,您可以将文件日志处理程序分配给根日志记录器或任何其他日志记录器。

  4. 使用以下命令,将文件日志处理程序分配给名为 CATEGORY 的特定日志记录器:

    /subsystem=logging/logger=CATEGORY:add-handler(name=FILE_HANDLER_NAME)
    Copy to Clipboard Toggle word wrap

    CATEGORY 替换为您要为其分配文件日志处理程序的日志记录器的名称。

  5. 如果需要,您可以使用以下命令使用 remove 操作来删除日志处理程序:

    /subsystem=logging/file-handler=FILE_HANDLER_NAME:remove
    Copy to Clipboard Toggle word wrap
    注意

    当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 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。

流程

  1. 使用以下命令添加定期轮转日志处理器:

    /subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:add(file={path=FILE_PATH,relative-to=RELATIVE_TO_PATH},suffix=SUFFIX)
    Copy to Clipboard Toggle word wrap
    注意

    当您添加定期轮转日志处理程序时,请使用 file 属性指定文件路径,该属性由 pathrelative-to 属性组成。使用 path 属性设置日志文件路径,包括文件名,如 my-log.log。(可选)使用 relative-to 属性来指示路径相对于命名路径,如 jboss.server.log.dir

    您必须使用 suffix 属性为轮转日志设置 后缀。后缀必须采用 java.text.SimpleDateFormat 可以理解的格式,如 .yyyy-MM-dd-HH。轮转周期会根据此后缀自动计算。

  2. 您可以根据您的需要设置一个或多个定期轮转日志处理器属性:

    • 使用以下命令为处理器设置日志级别:

      /subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
      Copy to Clipboard Toggle word wrap

      默认值为 ALL

    • 使用以下命令为处理器设置附加行为:

      /subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=append,value=APPEND)
      Copy to Clipboard Toggle word wrap

      append 属性设置为 false,以在服务器重启时覆盖文件。默认情况下,JBoss EAP 在服务器重启时将日志消息附加到同一文件中。

    • 使用以下命令,设置处理程序的编码,如 utf-8

      /subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
      Copy to Clipboard Toggle word wrap
    • 使用以下命令为处理器设置 formatter 字符串:

      /subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)
      Copy to Clipboard Toggle word wrap

      例如,默认格式字符串为 %d{HH:mm:ss,SSS} %-5p [%c](%t)%s%e%n。将 FORMAT 值用引号括起来。

      注意
    • 使用以下命令设置自动清除:

      /subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)
      Copy to Clipboard Toggle word wrap

      指定在每次写入后是否自动清除。默认值为 true

    • 使用以下命令设置过滤器表达式:

      /subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
      Copy to Clipboard Toggle word wrap

      指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将 FILTER_EXPRESSION 变量替换为 "not (match (\"WFLY\") ) ",以创建 not (match ("WFLY")的过滤器表达式

  3. 使用以下命令,将定期轮转日志处理器分配给日志记录器:

    /subsystem=logging/root-logger=ROOT:add-handler(name=PERIODIC_HANDLER_NAME)
    Copy to Clipboard Toggle word wrap

    要激活日志处理程序,您可以将定期轮转日志处理程序分配给根日志记录器或任何其他日志记录器。

  4. 如果需要,您可以使用以下命令使用 remove 操作来删除日志处理程序:

    /subsystem=logging/periodic-rotating-file-handler=PERIODIC_HANDLER_NAME:remove
    Copy to Clipboard Toggle word wrap
    注意

    当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 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。

流程

  1. 使用以下命令添加大小日志处理器:

    /subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:add(file={path=FILE_PATH,relative-to=RELATIVE_TO_PATH})
    Copy to Clipboard Toggle word wrap
    注意

    当您添加大小日志处理程序时,请使用 file 属性指定文件路径,它由 pathrelative-to 属性组成。使用 path 属性设置日志文件路径,包括文件名,如 my-log.log。(可选)使用 relative-to 属性来指示路径相对于命名路径,如 jboss.server.log.dir

  2. 您可以根据您的需要设置一个或多个大小日志处理器属性:

    • 使用以下命令为处理器设置日志级别:

      /subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
      Copy to Clipboard Toggle word wrap

      默认值为 ALL

    • 使用以下命令为轮转的日志设置后缀:

      /subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=suffix, value=SUFFIX)
      Copy to Clipboard Toggle word wrap
      注意

      如果指定,后缀必须采用 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)
      Copy to Clipboard Toggle word wrap
    • 使用以下命令设置轮转大小:

      /subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=rotate-size, value=ROTATE_SIZE)
      Copy to Clipboard Toggle word wrap

      在轮转前设置最大文件大小。默认值为 2m,表示 2MB。

    • 使用以下命令设置要保留的最大备份日志数:

      /subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=max-backup-index, value=MAX_BACKUPS)
      Copy to Clipboard Toggle word wrap

      指定要保留的备份数量。默认值为 1

      注意

      根据大小限制而不是后缀进行轮转。如果定义了后缀,则会将其添加到轮转的文件中,但不会删除这些文件。只有在轮转过程中会删除达到大小限制的文件。

    • 使用以下命令设置是否在引导时轮转日志:

      /subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=rotate-on-boot, value=ROTATE_ON_BOOT)
      Copy to Clipboard Toggle word wrap

      默认情况下,服务器重启时不会创建新的日志文件。把它设置为 true,以在服务器重启时轮转日志。

    • 使用以下命令为处理器设置附加行为:

      /subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=append,value=APPEND)
      Copy to Clipboard Toggle word wrap

      append 属性设置为 false,以在服务器重启时覆盖文件。默认情况下,JBoss EAP 在服务器重启时将日志消息附加到同一文件中。

    • 使用以下命令,设置处理程序的编码,如 utf-8

      /subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
      Copy to Clipboard Toggle word wrap
    • 使用以下命令为处理器设置 formatter 字符串:

      /subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)
      Copy to Clipboard Toggle word wrap

      例如,默认格式字符串为 %d{HH:mm:ss,SSS} %-5p [%c](%t)%s%e%n。将 FORMAT 值用引号括起来。

      注意
    • 使用以下命令设置自动清除:

      /subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)
      Copy to Clipboard Toggle word wrap

      指定在每次写入后是否自动清除。默认值为 true

    • 使用以下命令设置过滤器表达式:

      /subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
      Copy to Clipboard Toggle word wrap

      指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将 FILTER_EXPRESSION 变量替换为 "not (match (\"WFLY\") ) ",以创建 not (match ("WFLY")的过滤器表达式

  3. 使用以下命令,将大小日志处理程序分配给日志记录器:

    /subsystem=logging/root-logger=ROOT:add-handler(name=SIZE_HANDLER_NAME)
    Copy to Clipboard Toggle word wrap

    要激活日志处理程序,您可以将 size 日志处理程序分配给根日志记录器或任何其他日志记录器。

  4. 如果需要,您可以使用以下命令使用 remove 操作来删除日志处理程序:

    /subsystem=logging/size-rotating-file-handler=SIZE_HANDLER_NAME:remove
    Copy to Clipboard Toggle word wrap
    注意

    当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 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。

流程

  1. 使用以下命令添加定期大小日志处理器:

    /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 Toggle word wrap
    注意

    当您添加定期大小日志处理程序时,请使用 file 属性指定文件路径,它由 pathrelative-to 属性组成。使用 path 属性设置日志文件路径,包括文件名,如 my-log.log。(可选)使用 relative-to 属性来指示路径相对于命名路径,如 jboss.server.log.dir

    您必须使用 suffix 属性为轮转日志设置 后缀。后缀必须采用 java.text.SimpleDateFormat 可以理解的格式,如 .yyyy-MM-dd-HH。轮转周期会根据此后缀自动计算。

  2. 您可以根据您的需要设置一个或多个定期大小日志处理器属性:

    • 使用以下命令为处理器设置日志级别:

      /subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
      Copy to Clipboard Toggle word wrap

      默认值为 ALL

    • 使用以下命令设置轮转大小:

      /subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=rotate-size, value=ROTATE_SIZE)
      Copy to Clipboard Toggle word wrap

      在轮转前设置最大文件大小。默认值为 2m,表示 2MB。

    • 使用以下命令设置要保留的最大备份日志数:

      /subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=max-backup-index, value=MAX_BACKUPS)
      Copy to Clipboard Toggle word wrap

      指定要保留的备份数量。默认值为 1

      注意

      当由后缀轮转时,轮转的文件不会被删除。只有在轮转过程中会删除轮转时,只有达到大小限制的文件。

    • 使用以下命令设置是否在引导时轮转日志:

      /subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=rotate-on-boot, value=ROTATE_ON_BOOT)
      Copy to Clipboard Toggle word wrap

      默认情况下,服务器重启时不会创建新的日志文件。把它设置为 true,以在服务器重启时轮转日志。

    • 使用以下命令为处理器设置附加行为:

      /subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=append,value=APPEND)
      Copy to Clipboard Toggle word wrap

      append 属性设置为 false,以在服务器重启时覆盖文件。默认情况下,JBoss EAP 在服务器重启时将日志消息附加到同一文件中。

    • 使用以下命令,设置处理程序的编码,如 utf-8

      /subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
      Copy to Clipboard Toggle word wrap
    • 使用以下命令为处理器设置 formatter 字符串:

      /subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)
      Copy to Clipboard Toggle word wrap

      例如,默认格式字符串为 %d{HH:mm:ss,SSS} %-5p [%c](%t)%s%e%n。将 FORMAT 值用引号括起来。

      注意
    • 使用以下命令设置自动清除:

      /subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)
      Copy to Clipboard Toggle word wrap

      指定在每次写入后是否自动清除。默认值为 true

    • 使用以下命令设置过滤器表达式:

      /subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
      Copy to Clipboard Toggle word wrap

      指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将 FILTER_EXPRESSION 变量替换为 "not (match (\"WFLY\") ) ",以创建 not (match ("WFLY")的过滤器表达式

  3. 使用以下命令,将定期大小日志处理程序分配给日志记录器:

    /subsystem=logging/root-logger=ROOT:add-handler(name=PERIODIC_SIZE_HANDLER_NAME)
    Copy to Clipboard Toggle word wrap

    要激活日志处理程序,您可以将定期大小日志处理程序分配给根日志记录器或任何其他日志记录器。

  4. 如果需要,您可以使用以下命令使用 remove 操作来删除日志处理程序:

    /subsystem=logging/periodic-size-rotating-file-handler=PERIODIC_SIZE_HANDLER_NAME:remove
    Copy to Clipboard Toggle word wrap
    注意

    当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 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。

流程

  1. 使用以下命令添加 syslog 处理程序:

    /subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:add
    Copy to Clipboard Toggle word wrap
  2. 您可以根据您的需要设置一个或多个 syslog handler 属性:

    • 使用以下命令为处理器设置日志级别:

      /subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
      Copy to Clipboard Toggle word wrap

      默认值为 ALL

    • 使用以下命令为日志记录设置应用程序名称:

      /subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=app-name,value=APP_NAME)
      Copy to Clipboard Toggle word wrap

      默认应用名称为 java

    • 使用以下命令设置 syslog 服务器的地址:

      /subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=server-address,value=SERVER_ADDRESS)
      Copy to Clipboard Toggle word wrap

      默认地址为 localhost

    • 使用以下命令设置 syslog 服务器的端口:

      /subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=port,value=PORT)
      Copy to Clipboard Toggle word wrap

      默认端口为 514

    • 使用以下命令,根据 RFC 规格设置 syslog 格式:

      /subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=syslog-format,value=SYSLOG_FORMAT)
      Copy to Clipboard Toggle word wrap

      默认格式为 RFC5424

    • 使用以下命令指定 named-formatter 属性来格式化 syslog 有效负载消息:

      /subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:write-attribute(name=named-formatter, value=FORMATTER_NAME)
      Copy to Clipboard Toggle word wrap
  3. 使用以下命令将 syslog 处理程序分配给日志记录器:

    /subsystem=logging/root-logger=ROOT:add-handler(name=SYSLOG_HANDLER_NAME)
    Copy to Clipboard Toggle word wrap

    要激活日志处理程序,您可以将 syslog 处理程序分配给根日志记录器或任何其他日志记录器。

  4. 如果需要,您可以使用以下命令使用 remove 操作来删除日志处理程序:

    /subsystem=logging/syslog-handler=SYSLOG_HANDLER_NAME:remove
    Copy to Clipboard Toggle word wrap
    注意

    当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 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。

流程

  1. 使用以下命令添加套接字绑定:

    /socket-binding-group=SOCKET_BINDING_GROUP/remote-destination-outbound-socket-binding=SOCKET_BINDING_NAME:add(host=HOST, port=PORT)
    Copy to Clipboard Toggle word wrap
    注意

    您可以将 remote-destination-outbound-socket-bindinglocal-destination-outbound-socket-binding 定义为要使用的 套接字绑定

  2. 使用以下命令,添加要使用的 日志格式 器,如 JSON 格式:

    /subsystem=logging/json-formatter=FORMATTER:add
    Copy to Clipboard Toggle word wrap
  3. 使用以下命令指定使用的套接字绑定和格式ter来添加套接字日志处理器:

    /subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:add(outbound-socket-binding-ref=SOCKET_BINDING_NAME,named-formatter=FORMATTER)
    Copy to Clipboard Toggle word wrap
  4. 您可以根据您的需要设置一个或多个套接字日志处理器属性:

    • 使用以下命令设置协议:

      /subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=protocol,value=PROTOCOL)
      Copy to Clipboard Toggle word wrap

      默认协议是 TCP

    • 使用以下命令为处理器设置日志级别:

      /subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
      Copy to Clipboard Toggle word wrap

      默认值为 ALL

      注意

      在服务器启动期间,由套接字日志处理程序处理的日志消息排队,直到配置了套接字绑定并且 logging 子系统已初始化为止。如果日志级别设置为 low,如 TRACEDEBUG,则可能会导致启动期间大量内存消耗。

    • 使用以下命令,设置处理程序的编码,如 utf-8

      /subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
      Copy to Clipboard Toggle word wrap
    • 使用以下命令设置自动清除:

      /subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=autoflush,value=AUTO_FLUSH)
      Copy to Clipboard Toggle word wrap

      指定在每次写入后是否自动清除。默认值为 true

    • 使用以下命令设置过滤器表达式:

      /subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
      Copy to Clipboard Toggle word wrap

      指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将 FILTER_EXPRESSION 变量替换为 "not (match (\"WFLY\") ) ",以创建 not (match ("WFLY")的过滤器表达式

  5. 使用以下命令将套接字日志处理程序分配给日志记录器:

    /subsystem=logging/root-logger=ROOT:add-handler(name=SOCKET_HANDLER_NAME)
    Copy to Clipboard Toggle word wrap

    要激活日志处理程序,您可以将套接字日志处理程序分配给根日志记录器或任何其他日志记录器。

  6. 如果需要,您可以使用以下命令使用 remove 操作来删除套接字日志处理器:

    /subsystem=logging/socket-handler=SOCKET_HANDLER_NAME:remove
    Copy to Clipboard Toggle word wrap
    注意

    当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 async 日志处理程序,则无法删除日志处理程序。

10.5.7.1. 通过 SSL/TLS 发送套接字日志消息

您可以设置套接字日志处理程序,以使用 SSL_TCP 协议通过套接字发送日志消息。此设置涉及在 elytron 子系统中配置密钥组件,包括密钥存储、信任管理器和客户端 SSL 上下文。此配置可确保通过指定的套接字从根日志记录器安全地传输日志消息,并且消息由 JSON 格式化。

先决条件

  • JBoss EAP 正在运行。

流程

  1. 按照以下步骤配置 Elytron 设置:

    1. 使用以下命令添加密钥存储:

      /subsystem=elytron/key-store=log-server-ks:add(path=/path/to/keystore.jks, type=JKS, credential-reference={clear-text=mypassword})
      Copy to Clipboard Toggle word wrap
    2. 使用以下命令添加信任管理器:

      /subsystem=elytron/trust-manager=log-server-tm:add(key-store=log-server-ks)
      Copy to Clipboard Toggle word wrap
    3. 使用以下命令添加客户端 SSL 上下文:

      /subsystem=elytron/client-ssl-context=log-server-context:add(trust-manager=log-server-tm, protocols=["TLSv1.2"])
      Copy to Clipboard Toggle word wrap
  2. 使用以下命令添加套接字绑定:

    /socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=log-server:add(host=localhost, port=4560)
    Copy to Clipboard Toggle word wrap
  3. 使用以下命令添加 JSON 格式:

    /subsystem=logging/json-formatter=json:add
    Copy to Clipboard Toggle word wrap
  4. 使用以下命令添加套接字日志处理器:

    /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 Toggle word wrap
  5. 使用以下命令将日志处理程序分配给根日志记录器:

    /subsystem=logging/root-logger=ROOT:add-handler(name=log-server-handler)
    Copy to Clipboard Toggle word wrap

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。

流程

  1. 使用以下命令添加自定义日志处理器:

    /subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:add(class=CLASS_NAME,module=MODULE_NAME)
    Copy to Clipboard Toggle word wrap
    注意

    添加自定义日志处理程序时,指定处理程序的 Java 类以及包含它的 JBoss EAP 模块。类必须扩展 java.util.logging.Handler

    确保 您已创建了包含自定义日志记录器的模块,否则此命令将失败。

  2. 您可以根据您的需要设置一个或多个自定义日志处理器属性:

    • 使用以下命令为处理器设置日志级别:

      /subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
      Copy to Clipboard Toggle word wrap

      默认值为 ALL

    • 使用以下命令设置日志处理器的属性:

      /subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=properties.PROPERTY_NAME,value=PROPERTY_VALUE)
      Copy to Clipboard Toggle word wrap

      属性必须使用 setter 方法访问。

    • 使用以下命令,设置处理程序的编码,如 utf-8

      /subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=encoding,value=ENCODING)
      Copy to Clipboard Toggle word wrap
    • 使用以下命令为处理器设置 formatter 字符串:

      /subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=formatter,value=FORMAT)
      Copy to Clipboard Toggle word wrap

      例如,默认格式字符串为 %d{HH:mm:ss,SSS} %-5p [%c](%t)%s%e%n。将 FORMAT 值用引号括起来。

      注意
    • 使用以下命令设置过滤器表达式:

      /subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
      Copy to Clipboard Toggle word wrap

      指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将 FILTER_EXPRESSION 变量替换为 "not (match (\"WFLY\") ) ",以创建 not (match ("WFLY")的过滤器表达式

  3. 使用以下命令将自定义日志处理程序分配给日志记录器:

    /subsystem=logging/root-logger=ROOT:add-handler(name=CUSTOM_HANDLER_NAME)
    Copy to Clipboard Toggle word wrap

    要激活日志处理程序,您可以将处理程序分配给根日志记录器或任何其他日志记录器。

  4. 使用以下命令,将自定义日志处理程序分配给名为 CATEGORY 的特定日志记录器:

    /subsystem=logging/logger=CATEGORY:add-handler(name=CUSTOM_HANDLER_NAME)
    Copy to Clipboard Toggle word wrap

    CATEGORY 替换为您要为其分配自定义日志处理程序的日志记录器的名称。

  5. 如果需要,您可以使用以下命令使用 remove 操作来删除自定义日志处理器:

    /subsystem=logging/custom-handler=CUSTOM_HANDLER_NAME:remove
    Copy to Clipboard Toggle word wrap
    注意

    当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器或 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。

流程

  1. 使用以下命令添加 async 日志处理器:

    /subsystem=logging/async-handler=ASYNC_HANDLER_NAME:add(queue-length=QUEUE_LENGTH)
    Copy to Clipboard Toggle word wrap
    注意

    当您添加 async 日志处理程序时,请指定队列长度,这是在任何给定时间可以在队列中保留的最大日志请求数。

  2. 使用以下命令添加子处理程序:

    /subsystem=logging/async-handler=ASYNC_HANDLER_NAME:add-handler(name=HANDLER_NAME)
    Copy to Clipboard Toggle word wrap
    注意

    您可以添加一个或多个处理程序,作为此 async 日志处理程序的子处理程序。处理程序必须已存在于配置中,否则此命令将失败。

  3. 您可以根据您的需要设置一个或多个 async 日志处理器属性:

    • 使用以下命令为处理器设置日志级别:

      /subsystem=logging/async-handler=ASYNC_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
      Copy to Clipboard Toggle word wrap

      默认值为 ALL

    • 使用以下命令设置 overflow 操作:

      /subsystem=logging/async-handler=ASYNC_HANDLER_NAME:write-attribute(name=overflow-action,value=OVERFLOW_ACTION)
      Copy to Clipboard Toggle word wrap

      默认值为 BLOCK,这意味着如果队列已满,线程将阻止。您可以将此值更改为 DISCARD,这意味着将删除最旧的日志消息,以适应完整队列时的新消息。

    • 使用以下命令设置过滤器表达式:

      /subsystem=logging/async-handler=ASYNC_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)
      Copy to Clipboard Toggle word wrap

      指定表达式来过滤处理程序的日志消息。转义任何逗号和引号,并使用引号括起表达式。例如,将 FILTER_EXPRESSION 变量替换为 "not (match (\"WFLY\") ) ",以创建 not (match ("WFLY")的过滤器表达式

  4. 使用以下命令将 async 日志处理器分配给日志记录器:

    /subsystem=logging/root-logger=ROOT:add-handler(name=ASYNC_HANDLER_NAME)
    Copy to Clipboard Toggle word wrap

    要激活日志处理程序,您可以将 async 日志处理程序分配给根日志记录器或任何其他日志记录器。

  5. 如果需要,您可以使用以下命令使用 remove 操作来删除 async 日志处理器:

    /subsystem=logging/async-handler=ASYNC_HANDLER_NAME:remove
    Copy to Clipboard Toggle word wrap
    注意

    当日志记录配置不再需要时,您可以删除日志处理程序。但是,如果日志处理程序当前已分配给日志记录器,则无法移除日志处理程序。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat