@MessageLogger 和 @MessageBundle

问题描述

我使用 jboss-logging。根据{{​​3}},有两种类型:

  • @MessageLogger 用于日志消息
  • @MessageBundle 用于异常和字符串消息

我不知道这是如何在内部处理的,但使用

@MessageLogger(projectCode = "TESTLOGGER",length = 3)
public interface TestLogger {

    // This is not a log message,but a string message
    @Message(id=1,value = "invalid {0}",format = Message.Format.MESSAGE_FORMAT)
    void test(String dateString);
    
    // this is a typical log message
    @LogMessage
    @Message(id=2,format = Message.Format.MESSAGE_FORMAT)
    void test(String dateString);

    // this is a typcial exception 
    @Message(id = 3,value = "Invalid '%s'")
    IllegalArgumentException invalidPermissionAction(String action);
}

}

也有效。所以我假设我可以将日志消息、异常和字符串消息放在 @MessageLogger 中并且不需要用 @MessageBundle 将它们分开。我对吗?这种方法有什么隐藏的限制吗?

解决方法

没错。您可以将日志消息、字符串消息和异常放在同一个文件中。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...