首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.util.logging消息模板问题

java.util.logging消息模板问题
EN

Stack Overflow用户
提问于 2010-08-03 17:45:49
回答 2查看 4.6K关注 0票数 5

NetBeans建议我改变写入具有字符串连接的日志语句的方式,声明将字符串连接转换为消息模板,以便语句(如:

代码语言:javascript
复制
log.severe("Completed at:  " + new Date());

变到

代码语言:javascript
复制
log.log(Level.SEVERE, "Completed at:  {0}", new Date());

问题是现在日期没有打印出来。相反,字符串"{0}“将被打印出来。我还有别的事要做吗?

EN

回答 2

Stack Overflow用户

发布于 2011-03-18 20:37:10

假设你发布的代码片段不是导致问题的原始代码.在您的消息中有一个撇号将导致您描述的问题的类型。java.util.logging.Logger.log将消息传递给java.text.MessageFormat哪个要求你避开撇号

例如:

代码语言:javascript
复制
log.log( Level.FINE, "Can't handle {0}.", id );
log.log( Level.FINE, "Can''t handle {0}.", id );

日志:

代码语言:javascript
复制
Cant handle {0}.
Can't handle ID0001.
票数 4
EN

Stack Overflow用户

发布于 2010-08-03 17:54:51

我知道PrintStream有一个以这种方式工作的format方法,尽管Java使用类似C的前缀而不是C#的{}包装器。但是Logger没有这样的方法。相反,您正在调用log的重写,在我的经验中,该重写只记录给定的字符串,而不对Object参数执行任何操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3399165

复制
相关文章

相似问题

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