У меня есть файл logging.properties, что я загрузить во время выполнения в моей Java-приложение:Java WebStart заменяет мой протоколирования форматировщик
final InputStream logFileInputStream= this.getClass().getResourceAsStream("mylogging.properties");
LogManager.getLogManager().readConfiguration(logFileInputStream);
Этот logging.properties файл определяет нестандартный форматировщик:
.level = INFO
handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler
java.util.logging.ConsoleHandler.formatter = mycustom.logging.OneLineFormatter
java.util.logging.ConsoleHandler.level = FINEST
java.util.logging.FileHandler.pattern = ./logs/blubb.%g.log
java.util.logging.FileHandler.count = 31
java.util.logging.FileHandler.formatter = mycustom.logging.OneLineFormatter
java.util.logging.FileHandler.level = FINEST
Это хорошо работает при запуске из командной строки. Однако при запуске приложения с Java Webstart форматы заменяются SimpleFormatter для ConsoleHandler и XMLFormat для FileHandler. Данные logging.properties все еще читаются, например, соблюдается шаблон имен файлов журналов.
Как я могу избежать использования Webstart для замены моих форматировщиков ?!
Все ли классы включены в банку? Все ли необходимые банки с этими регистрационными классами в вашем jnlp? –
@StefanHegny Да. Этот пользовательский Formatter находится в дополнительной банке, которая включена в JNLP. – radlan
Хм, что-нибудь подозрительное в консоли java, когда вы запускаете jnlp? Поскольку вы, похоже, уверены, что он забирает файл свойств, вы должны, возможно, снова проверить jars/jnlp, возможно, добавить их в вопрос. –