#simpledateformat
#simpledateformat
Вопрос:
final String LOG_FILENAME =
new SimpleDateFormat("'tool_'yyyyMMddHHmmss_SSS_'%g.log'").format(new Date(System.currentTimeMillis()));
String logFilePtrn = new StringBuilder(System.getProperty("user.dir")).append(System.getProperty("file.separator")).append(LOG_FILENAME).toString();
когда я печатаю файл журнала, он печатается следующим образом
Расположение файла журнала:/tool/log/tool_20140625155513_309_%g.log
но фактический сгенерированный файл журнала был tool_20140625161235_309_0.log
любая помощь приветствуется.
Комментарии:
1. Что бы вы ожидали
SimpleDateFormat
сделать с%g
?2. я хотел напечатать имя файла журнала по мере его создания. то есть перехватить %g с 0 в примере
3. Мой вопрос остается: какую часть логики в вашем коде вы ожидаете на самом деле заменить
%g
на0
?4. когда я печатаю имя файла журнала с помощью lgr.info (MessageFormat.format(«Расположение файла журнала:{0}», logFilePtrn)); он печатается с %g вместо 0. но когда я открываю файл журнала, используя тот же logfilePtrn, он открывается с правильным именем. fileHndlr = новый обработчик файла(logFilePtrn);
5. Перефразируя мою проблему. Я использую шаблон имени файла в качестве конечной строки LOG_FILENAME = new StringBuilder(System.getProperty(«user.dir»)).append(System.getProperty(«file.separator»)).append(LOG_FILNAME).toString() ; когда я печатаю этот шаблон файла, я получаю Tool_20140627115446_451_%g.log Но когда я открываю файл журнала, используя тот же шаблон fileHndlr = new FileHandler(logFilePtrn, 1048576, 100); он открывает имя файла журнала с помощью Tool_20140627115446_451_0.log . Любые мысли.