Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将String.format放入记录器?_Java_Logging_Log4j2_Jboss Logging - Fatal编程技术网

Java 将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){

我想将字符串消息共享给记录器和业务代码,因此我使用string.format创建了该消息,并将其放入记录器和我的业务代码中:

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);