Har*_*air 5 java formatter java.util.logging
我有一个 SimpleFormatter 用于使用字符串登录我的应用程序
"%1$tF %1$tT %4$-7s %2$s %5$s%6$s%n"
我想使用简单的类名而不是规范名称。是否有可以与 2$ 字段一起使用的格式选项?或者这是否需要编写一个新的处理程序?
例如,而不是
2019-02-06 07:09:09 INFO simplex.tools.SIMPLEXScheduler main Start
我倒要看看2019-02-06 07:09:09 INFO SIMPLEXScheduler main Start
是否有可以与 2$ 字段一起使用的格式选项?
SimpleFormatter仅支持java.util.Formatter中的功能。目前无法将类名格式化为简单类名。
或者这是否需要编写一个新的处理程序?
一种选择是编写一个新的java.util.logging.Formatter。您可以通过安装java.util.logging.Filter来更改类名来完成一些技巧,但您应该避免这样做。按照PJMeisch的建议,使用logp代替
免责声明:我是JavaMail项目中包含的com.sun.mail.util.logging包的内容开发人员。
如果您有权访问 JavaMail,则可以使用 com.sun.mail.util.logging.CompactFormatter ,它只会打印简单的类名。代价是它将打印异常的紧凑堆栈跟踪。参数 1 到 6 的顺序与 SimpleFormatter 相同,因此可以使用相同的模式。
如果您不想包含 JavaMail,那么您可以使用com.sun.mail:logging-mailhandler工件。