Местоположение
Россия, Иркутская обл.

Наибольший вклад в теги

Все теги (13)

Лучшие ответы пользователя

Все ответы (10)
  • Как должен выглядеть класс для java.util.logging.config.class?

    @zaralX
    Я человек, я упал с луны.
    Чтобы использовать собственный класс для настройки логирования, через системное свойство `java.util.logging.config.class` можно указать имя класса, который будет выполнять конфигурацию логгера. Этот класс должен быть загружен JVM при запуске, и он должен настраивать логирование в своём конструкторе или статическом блоке.

    import java.util.logging.ConsoleHandler;
    import java.util.logging.FileHandler;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import java.util.logging.SimpleFormatter;
    
    public class CustomLoggingConfig {
        
        public CustomLoggingConfig() throws Exception {
            // Настройка уровня логирования
            Logger rootLogger = Logger.getLogger("");
            rootLogger.setLevel(Level.INFO);  // Устанавливаем уровень логирования
    
            // Удаляем существующие обработчики, если они есть
            for (var handler : rootLogger.getHandlers()) {
                rootLogger.removeHandler(handler);
            }
    
            // Добавляем консольный обработчик
            ConsoleHandler consoleHandler = new ConsoleHandler();
            consoleHandler.setLevel(Level.INFO);
            consoleHandler.setFormatter(new SimpleFormatter());
            rootLogger.addHandler(consoleHandler);
    
            // Добавляем обработчик для логирования в файл
            FileHandler fileHandler = new FileHandler("app.log");
            fileHandler.setLevel(Level.FINE);
            fileHandler.setFormatter(new SimpleFormatter());
            rootLogger.addHandler(fileHandler);
    
            // Устанавливаем уровень логирования для конкретного логера
            Logger specificLogger = Logger.getLogger("com.example.myapp");
            specificLogger.setLevel(Level.FINE);
        }
    }


    Для указания JVM на этот класс используй
    java -Djava.util.logging.config.class=CustomLoggingConfig -cp . YourMainClass
    Ответ написан
    1 комментарий

Лучшие вопросы пользователя

Все вопросы (29)