Java 将String.format放入记录器?
我想将字符串消息共享给记录器和业务代码,因此我使用string.format创建了该消息,并将其放入记录器和我的业务代码中:Java 将String.format放入记录器?,java,logging,log4j2,jboss-logging,Java,Logging,Log4j2,Jboss Logging,我想将字符串消息共享给记录器和业务代码,因此我使用string.format创建了该消息,并将其放入记录器和我的业务代码中: var msg = Messages.dateNotValid(user, getClass()); log.error(msg); user.addMsg(msg); 这些邮件将我的所有邮件存储到一个类中: class Messages { public static dateNotValid(User user, Class<?> clazz){
var msg = Messages.dateNotValid(user, getClass());
log.error(msg);
user.addMsg(msg);
这些邮件将我的所有邮件存储到一个类中:
class Messages {
public static dateNotValid(User user, Class<?> clazz){
return String.format("[%s] the date %s is not valid", clazz.getSimpleName(), user.getDate());
}
}
对于我想做的事情,有更好的方法吗?我对我的代码有点不确定。也许有一些我不知道的最佳实践或框架/API/扩展点有助于实现我想要的目标。实现这一目标的最佳方法是在@MessageLogger中使用Jboss日志记录。太好了 在尝试了不同的选项之后,我得出结论,只有jboss logger有一个很好的附加项,叫做@MessageLogger。这正是我想要的。我不知道其他日志框架是否也有这样的功能。唯一的缺点是让注释预处理器对文件进行预处理
我想,jboss日志记录的另一个缺点是与Log4j2相比没有无垃圾日志记录。您的框架、您的线程:jboss日志记录在哪里发挥作用?您使用的是什么日志框架?@JamesR.Perkins在尝试了不同的选项后,我得出结论,只有jboss logger有一个很好的附加项,叫做@MessageLogger。这正是我想要的。我不知道其他日志框架是否也有这样的功能。唯一的缺点是让注释预处理器对文件进行预处理。@JamesR.Perkins您知道有更好的替代方案吗?如果您使用的是较新版本的Maven,则不需要将它们添加到依赖关系树之外的任何内容。它们是可以提供的
// will not be parsed if log.error is disabled
log.error("the date {0} is not valid", user.date);