Почему мое приложение java не регистрируется в файле java0.log по умолчанию java .util.logging? - PullRequest
1 голос
/ 01 апреля 2020

Я недавно установил Java 1.14 JDK на мою Linux машину и начал изучать Java, и я застрял, пытаясь выяснить, почему этот код не записывается в файл журнала по умолчанию.

package foo;

import java.util.logging.Level;
import java.util.logging.Logger;

public class Main {

    public static void main(String[] args) {

        Logger logger = Logger.getLogger("test");

        logger.log(Level.INFO, "testinggggg info");
        logger.log(Level.SEVERE, "testinggggg severe");
        logger.log(Level.WARNING, "testinggggg warning");
        logger.log(Level.FINE, "testinggggg fine");
    }
}

Этот код выводится на консоль

INFO: testinggggg info
Apr 01, 2020 2:45:57 AM foo.Main main
SEVERE: testinggggg severe
Apr 01, 2020 2:45:57 AM foo.Main main
WARNING: testinggggg warning

Это содержимое моего /usr/java/jdk-14/conf/logging.properties файла

# I have omitted all comments
handlers= java.util.logging.ConsoleHandler

.level= INFO

java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1

java.util.logging.FileHandler.maxLocks = 100
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter

java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

Когда я проверяю большинство системных свойств, я см. NULL, например, выполнение этих строк при печати моего приложения NULL

System.out.println(System.getProperty("java.util.logging.FileHandler.pattern"));
System.out.println(System.getProperty("java.util.logging.FileHandler.limit"));
System.out.println(Main.class.getClassLoader().getResource("logging.properties"));

В моем каталоге $HOME нет файла с именем java0.log или java1.log. Почему мое приложение не пишет в эти файлы?

1 Ответ

2 голосов
/ 01 апреля 2020

Finaaaaaaaaaaaaaaaaaly

Я изменил

handlers= java.util.logging.ConsoleHandler

на этот

handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler

В моем файле /usr/java/jdk-14/conf/logging.properties, и теперь у меня есть java0.log под моим * Каталог 1016 * $HOME с этими журналами

Кстати, изменив logging.properties и сохранив его, изменения вступили в силу немедленно, не перезагружая мой компьютер, или java или что-то в этом роде.

...