12

我正在使用 Java Util 日志记录,每当我做这样的声明时

logger.log(Level.INFO, "print this number = {0}", number);

它将我的号码从 278487683165614 格式化为 278,487,683,165,614

这在搜索日志时非常烦人。

我可以阻止它这样做吗?请帮忙。

4

3 回答 3

13

默认格式不是你想要的,像这样改变它:

{0,number,#}

编辑 :

在这里,您可以获得有关MessageFormatPattern http://docs.oracle.com/javase/1.5.0/docs/api/java/text/MessageFormat.html的更多信息

于 2012-11-16T22:31:41.080 回答
1

你试过number.toString()吗?

于 2012-11-16T22:29:46.443 回答
1

尝试以下方法之一(没有您的number对象类型的可见性):

  1. 使用String.valueOf()

    logger.log(Level.INFO, "print this number = {0}", String.valueOf(number));
    
  2. 使用Number.toString

    logger.log(Level.INFO, "print this number = {0}", number.toString);
    
  3. 使用NumberFormat.setGroupingUsed(false)

    NumberFormat formatter = new NumberFormat();     
    formatter.setGroupingUsed(false);
    logger.log(Level.INFO, "print this number = {0}", formatter.format(number));
    
于 2012-11-16T22:30:40.547 回答