2013-12-23 2 views
2

java.util.logging.Logger класса предоставляет возможность использовать такой синтаксис:Java java.util.logging.logger. Использование объектов массива в качестве аргументов

int i=0; 
log.log(Level.INFO,"int i = {0}", i); 

Это напечатает «INT I = 0». К сожалению, когда у меня больше значение, например 9093, оно будет печатать «int i = 9 023», разделяя каждые 3 цифры запятой.

Вопрос в том, как я должен избавиться от запятых thoose? Предпочтительно изменять внутренности {}. Пробовал как {0: d}, так и {0:% d}. Оба не помогли. Можно ли даже управлять параметрами? Или я должен преобразовать свой int, чтобы навязать себя?

+0

http://stackoverflow.com/questions/5416769/how-to-configure-the-jdk14-loggings-pattern –

ответ

4

Похоже, что вторым параметром является MessageFormat, который поддерживает «субформаты». Попробуйте

log.log(Level.INFO, "int i = {0,number,#}", 1234567); 

Это исключает группировку символов для меня.

См. http://docs.oracle.com/javase/7/docs/api/java/text/MessageFormat.html и http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html (число подформатов интерпретируется как DecimalFormat).

Смежные вопросы