4.5.5. 自定义国际化日志消息

4.5.5.1. 添加消息 ID 和项目代码到日志消息

此流程演示了如何将消息 ID 和项目代码添加到使用 JBoss Logging Tools 创建的国际化日志消息中。日志消息中必须同时显示项目代码和消息 ID。如果消息同时没有项目代码和消息 ID,则不会显示任何消息。

先决条件

  1. 您必须已拥有含有国际化日志消息的项目。详情请查看 创建国际化的日志消息
  2. 您需要知道您将要使用的项目代码。您可以使用单个项目代码,或者为每个接口定义不同的项目代码。

添加消息 ID 和项目代码到日志消息

  1. 利用附加至自定义日志记录器接口的 @MessageLogger 注释的 projectCode 属性,指定接口的项目代码。接口中定义的所有消息都将使用该项目代码。

    @MessageLogger(projectCode="ACCNTS")
    interface AccountsLogger extends BasicLogger {
    
    }
  2. 利用附加至消息方法的 @Message 注释的 id 属性,指定每条消息的消息 ID。

    @LogMessage
    @Message(id=43, value = "Customer query failed, Database not available.")  void customerQueryFailDBClosed();
  3. 如果日志消息同时关联了消息 ID 和项目代码,这些日志消息会将它们添加到记录的消息中。

    10:55:50,638 INFO  [com.company.accounts.ejb] (MSC service thread 1-4) ACCNTS000043: Customer query failed, Database not available.