【发布时间】:2014-05-07 08:55:34
【问题描述】:
我的 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
下面的相应格式化程序也不起作用。有任何想法吗?我不想实现自己的格式化程序只是一种解决方法......
【问题讨论】:
-
实现自己的格式化程序不是一种解决方法。这是实现您想要的格式的正确方法。
-
是的,但我可以使用 SimpleFormatter 指定我想要的格式。那么我为什么要开发一个自己的格式化程序,它基本上做同样的事情只是为了能够正确配置记录器呢?对我来说,这听起来像是一种解决方法。
-
如果为 SimpleFormatter 指定格式,SimpleFormatter 的所有实例都将采用该格式。那不是你想要的,对吧?您希望每个处理程序有一个不同的处理程序。因此,您可以按照您需要的格式实现一个格式化程序。
-
基本上我想要相同(但不相同)的格式化程序 - 具有不同的配置。所以我想这是不可能的?
-
不,不可能。
标签: java logging java.util.logging