我想在打印到控制台 Logger.fine 之前格式化我的日志消息
例如,如何格式化“{0} 有 {1} 个苹果”,所以输入是 John 和 10
我更喜欢一个提供解决方案的日志记录框架,我不想单独格式化这些消息。 JDK6 特定的日志记录类似乎没有这些粒度。
原文由 Jason 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想在打印到控制台 Logger.fine 之前格式化我的日志消息
例如,如何格式化“{0} 有 {1} 个苹果”,所以输入是 John 和 10
我更喜欢一个提供解决方案的日志记录框架,我不想单独格式化这些消息。 JDK6 特定的日志记录类似乎没有这些粒度。
原文由 Jason 发布,翻译遵循 CC BY-SA 4.0 许可协议
即使只有 JDK 日志记录,您也可以使用自定义 Formatter
来处理带参数的日志消息的格式。
对于(一个简单的)示例:
public class MyFormatter extends Formatter {
/**
* @see java.util.logging.Formatter#format(java.util.logging.LogRecord)
*/
@Override
public String format(final LogRecord record) {
return MessageFormat.format(record.getMessage(), record.getParameters());
}
}
然后使用它,你可以配置一个 logging.properties
文件:
java.util.logging.ConsoleHandler.formatter = com.example.MyFormatter
原文由 Alistair A. Israel 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答1.2k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答704 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.6k 阅读
2 回答1.3k 阅读
使用 消息格式:
或 String.format :