@MessageLogger and @MessageBundle



我使用jboss-logging。根据https://jboss-logging.github.io/jboss-logging-tools/#message-bundle-interfaces,有两种类型:

  • @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, value = "invalid {0}", 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分开它们。我说的对吗?这种方法是否存在隐藏的限制?

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

最新更新