java - logging.properties 中的多种格式

标签 java logging java.util.logging

我的 logging.properties 中有两个处理程序:

handlers = java.util.logging.FileHandler, java.util.logging.ConsoleHandler

两者都使用SimpleFormatter:

java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

但现在我想要这些处理程序有两种不同的格式。控制台处理程序应该只打印一条短消息。另一方面,文件处理程序应该打印更详细的消息。 但是如何为两个格式化程序使用不同的格式呢?以下无效:

java.util.logging.FileHandler.formatter.format = ...

并使用

java.util.logging.SimpleFormatter.format

下面相应的格式化程序也不起作用。有任何想法吗?我不想实现自己的格式化程序只是作为一种解决方法...

最佳答案

java.util.logging.SimpleFormatter 只支持一种 JVM 宽格式。如果您的项目包括 JavaMail 1.5.2 或更高版本你可以使用 CompactFormatter在您的 ConsoleHandler 上,在您的 FileHandler 上使用 SimpleFormatter。

##logging.properties#
handlers = java.util.logging.FileHandler, java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.formatter=com.sun.mail.util.logging.CompactFormatter
com.sun.mail.util.logging.CompactFormatter.format=%4$s: %5$s [%1$tc]%n
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=%1$tc %2$s%n%4$s: %5$s%6$s%n

关于java - logging.properties 中的多种格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23513193/

相关文章:

java - 编译语言和解释语言有什么区别?

java - 如何使用带通配符的集合和泛型?

Java- 键绑定(bind)不工作/actionPerformed 未被调用

python - 如何在我的代码中传递全局调试标志变量;我应该使用 argparse 吗?

bash - 用不同的颜色显示多个文件?

logging - Seam log4j 凭证日志

java - SimpleFormatter 忽略 java.util.logging.SimpleFormatter.format 属性

java - 在 jre 7 update 40 上启动 web start 时带有日志记录的 NPE

java - 在创建 java.util.logging.Logger 之前,如何检查它是否已经存在?

java - 如何升级 maven 插件的版本?