第 18 章 日志
AMQ Broker 使用 JBoss Logging 框架进行日志记录,可通过 BROKER_INSTANCE_DIR/etc/logging.properties
配置文件进行配置。此配置文件是键值对列表。
您可以通过在 logging.properties
配置文件的 loggers
键中包含日志记录器,如下所示。
loggers=org.eclipse.jetty,org.jboss.logging,org.apache.activemq.artemis.core.server,org.apache.activemq.artemis.utils,org.apache.activemq.artemis.journal,org.apache.activemq.artemis.jms.server,org.apache.activemq.artemis.integration.bootstrap,org.apache.activemq.audit.base,org.apache.activemq.audit.message,org.apache.activemq.audit.resource
下表中显示了 AMQ Broker 中提供的日志记录器。
日志记录器 | 描述 |
---|---|
org.jboss.logging | 根日志记录器。记录不由其他代理日志记录器处理的任何调用。 |
org.apache.activemq.artemis.core.server | 记录代理内核 |
org.apache.activemq.artemis.utils | 日志实用程序调用 |
org.apache.activemq.artemis.journal | 日志日志调用 |
org.apache.activemq.artemis.jms | 日志 JMS 调用 |
org.apache.activemq.artemis.integration.bootstrap | 日志 bootstrap 调用 |
org.apache.activemq.audit.base | 记录对所有 JMX 对象方法的访问 |
org.apache.activemq.audit.message | 记录消息操作,如生产、消耗和浏览消息 |
org.apache.activemq.audit.resource | 记录身份验证事件、从 JMX 或 AMQ Broker 管理控制台创建和删除代理资源,并在管理控制台中浏览消息 |
logger.handlers
键中也配置了两个默认的日志记录处理程序,如下方所示:
logger.handlers=FILE,CONSOLE
logger.handlers=FILE
- 日志记录器将日志条目输出到文件。
logger.handlers=CONSOLE
- 日志记录器将日志条目输出到 AMQ Broker 管理控制台。
18.1. 更改日志级别
所有日志记录器的默认日志记录级别为 INFO
,在根日志记录器上配置,如下所示。
logger.level=INFO
您可以单独为所有其他日志记录器配置日志级别,如下所示。
logger.org.apache.activemq.artemis.core.server.level=INFO logger.org.apache.activemq.artemis.journal.level=INFO logger.org.apache.activemq.artemis.utils.level=INFO logger.org.apache.activemq.artemis.jms.level=INFO logger.org.apache.activemq.artemis.integration.bootstrap.level=INFO logger.org.apache.activemq.audit.base.level=INFO logger.org.apache.activemq.audit.message.level=INFO logger.org.apache.activemq.audit.resource.level=INFO
下表描述了可用的日志记录级别。日志记录级别以升序列出,从最低程度上对最高顺序列出。
级别 | 描述 |
---|---|
FATAL | 对于指示关键服务故障的事件,请使用 FATAL 日志级别。如果服务问题出现 FATAL 错误,则完全无法执行任何类型的请求。 |
ERROR | 对指示请求中断的事件使用 ERROR 日志记录级别,或者可向请求提供服务。在存在此级别的错误时,服务应该 有一些 容量来继续服务请求。 |
WARN | 对于可能指示非关键服务错误的事件,请使用 WARN 日志记录级别。请求预期可恢复的错误,或出现细微差别符合此描述。WARN 和 ERROR 之间的区别是供应用开发人员使用的。进行这种区分的简单条件是,错误是否需要用户寻求技术支持。如果错误需要技术支持,请将日志记录级别设置为 ERROR。否则,将级别设置为 WARN。 |
INFO | 将 INFO 日志记录级别用于服务生命周期事件和其他重要相关的信息。给定服务类别的 INFO 级别消息应当清楚地指明该服务所处的状态。 |
DEBUG | 将 DEBUG 日志记录级别用于记录生命周期事件信息的日志消息。对面向开发人员的信息或技术支持所需的深度信息使用此日志级别。启用 DEBUG 日志记录级别后,JBoss 服务器日志 不应 与服务器请求数量成比例增长。给定服务类别的 DEBUG 和 INFO 级别的消息应当清楚地指明该服务所处的状态,以及它所使用的代理资源;端口、接口、日志文件等。 |
TRACE |
将 TRACE 日志级别用于直接与请求活动关联的日志消息。此类消息不应提交到日志记录器,除非日志记录器类别优先级阈值表示消息将被呈现。使用 |
-
INFO
是logger.org.apache.activemq.audit.base
、logger.org.apache.activemq.audit.message
的唯一可用日志记录级别,以及logger.org.apache.activemq.audit.resource
Audit loggers。 -
为根日志记录器指定的日志记录级别决定了 所有 日志记录器的最详细的日志记录级别,即使其他日志记录器在其配置中指定更详细。例如,假设
org.apache.activemq.artemis.utils
具有DEBUG
的指定日志记录,而根日志记录器org.jboss.logging
指定了WARN
的日志记录级别。在这种情况下,两个日志记录器都使用日志级别WARN
。