我的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
在相应的格式化程序下面,也不起作用。有任何想法吗?我不想像解决方法那样实现自己的格式化程序......
答案 0 :(得分:0)
java.util.logging.SimpleFormatter仅支持一种JVM宽格式。如果您的项目包含JavaMail 1.5.2或更高版本,则可以使用ConsoleHandler上的CompactFormatter和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