Я хочу, чтобы мой регистратор с FileHandler использовал настройки, определенные в моем файле конфигурации. Должен ли я использовать Logger.getLogger или Logger.addHandler (new FileHandler()) после того, как я использовал LogManager.readConfiguration (InputStream) или еще больше? Другими словами, каков порядок, в котором я должен делать следующие 3 вещи (getLogger, addHandler, readConfigurations), полагая, что он имеет отношение к порядку и не что-то еще?Как заставить Logger использовать конфигурации из LogManager.readConfigurations?
Мне не удалось найти много примеров этого, и те, которые я нашел, имели LogManager.readConfiguration после Logger.getLogger, но это, похоже, не работает.
Вот конфигурационный файл:
handlers = java.util.logging.FileHandler
.level = ALL
# Default
java.util.logging.FileHandler.limit = 10000000
java.util.logging.FileHandler.count = 10
java.util.logging.FileHandler.append = true
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.level = FINE
EDIT: Вот часть кода, относящегося к конфигурации.
String configFilename = "C:\\Users\\dalawh\\Documents\\config.properties";
LogManager manager = LogManager.getLogManager();
String property = manager.getProperty(this.getClass().getPackage().getName()); //DEBUGGING
LogManager.getLogManager().readConfiguration(new FileInputStream(configFilename));
String property2 = manager.getProperty(this.getClass().getPackage().getName()); //DEBUGGING
Logger logger = java.util.logging.Logger.getLogger(this.getClass().getPackage().getName());
String property3 = manager.getProperty(this.getClass().getPackage().getName()); //DEBUGGING
String filename = "C:\\Users\\dalawh\\Documents\\log.log";
this.fileHandler = new FileHandler(filename);
this.logger.addHandler(this.fileHandler);
Благодарим за дополнительную информацию, но это не совсем то, что я ищу. Я уже использую LogManager.readConfiguration (InputStream), чтобы прочитать конфигурацию из файла, который у меня есть, который я указал в InputStream. Мой вопрос в том, каков порядок, в котором я должен делать следующие 3 вещи (getLogger, addHandler, readConfigurations), предполагая, что он имеет отношение к порядку и не что-то еще? – dalawh
@dalawh Я отредактировал ответ. – jmehrens
Логгер по-прежнему использует конфигурацию по умолчанию. Я прочитал конфигурацию из файла, который у меня есть, затем я получил Logger, а затем добавил FileHandler в Logger, но Logger все еще регистрировался в xml вместо того, чтобы использовать простой форматтер, как указано в файле конфигурации. – dalawh