首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置jdk14日志记录的模式

如何配置jdk14日志记录的模式
EN

Stack Overflow用户
提问于 2011-03-24 16:54:50
回答 2查看 13.6K关注 0票数 9

我想我可以通过添加java.util.logging.ConsoleHandler.pattern行来更改模式,但是在哪里可以检查模式信息,如%u %h等?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-24 17:16:49

编辑:下面是当时针对Java 6编写的代码。对于7及更高版本,请参考David的回答。

AFAIK没有这样的属性。有一个java.util.logging.FileHandler.pattern,但这是设置输出文件名的模式,而不是日志记录格式。

在util logging API中配置输出格式的方法是设置Formatter。默认情况下,ConsoleHandler会附加一个SimpleFormatter。这个格式化程序只是对模式进行硬编码,不允许您设置它。

如果需要不同的输出格式,则必须实现自己的Formatter,或者使用不同的日志记录框架,如logback

票数 8
EN

Stack Overflow用户

发布于 2013-02-22 20:12:14

这个问题已经有人回答了,但我想提供一些新的信息:

从Java7开始,可以使用SimpleFormatter配置日志消息的输出模式。

您可以在日志记录属性文件中使用此属性:

代码语言:javascript
复制
java.util.logging.SimpleFormatter.format = [%1$tc] %4$s: %2$s - %5$s %6$s%n

如果您需要有关模式语法的更多信息,请查看此处:http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html

以上属性值中的数字是指提供给格式化程序的参数。有关更多信息,请参阅官方Java文档:http://docs.oracle.com/javase/7/docs/api/java/util/logging/SimpleFormatter.html

示例配置文件logging.properties

代码语言:javascript
复制
handlers = java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
# Pattern works since Java 7
java.util.logging.SimpleFormatter.format = [%1$tc] %4$s: %2$s - %5$s %6$s%n

# Configure logging levels
# Available log levels are:
# OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, ALL

# root logger
.level = WARNING

# child logger
org.example.level = ALL

当你调用java程序时,你可以将你的配置文件指定为参数:

代码语言:javascript
复制
java -Djava.util.logging.config.file=logging.properties -jar myProgram.jar
票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5416769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档