Как я могу настроить журналы приложений?

#java #spring-boot #slf4j #application.properties

#java #весенняя загрузка #slf4j #application.properties

Вопрос:

Я работаю в API Rest, и мне нужно иметь определенный файл журнала с именем, подобным моей организации. Когда я создаю или редактирую организацию, мой API должен создать ее файл, если он не существует, а затем сохранить его данные. У меня уже есть эти параметры в моем application.properties с файлом пути по умолчанию.

 logging.file=/Users/xxxxxxxxx/application.log
 

В моем классе Java, в частности, в моем методе редактирования, я создаю файл, если он не создан.

  String fileLog = "/Users/xxxxxxxxxxxx/logs/"   orgId   ".log";
 File file = new File(fileLog);
 BufferedWriter bw;
 if (!file.exists()) {
    // crea el archivo para la Org si no existe
    bw = new BufferedWriter(new FileWriter(file));
 }
 

Наконец, я установил определение my по умолчанию (logging.file), определив новый файл журнала для этой организации.

 PropertiesConfiguration config = new 
PropertiesConfiguration("/Users/xxxxxxxx/application.properties");
config.setProperty("logging.file", "/Users/xxxxxxxxxxxx/logs/"   
orgId   ".log");
config.save();
 

Моя последняя проблема: как сбросить диспетчер журналов без перезапуска моего сервера?

Ответ №1:

Самый простой способ — использовать application.properties . Наиболее часто настраиваемыми являются:

 logging.file= # Log file name (for instance, `myapp.log`). Names can be an exact location or relative to the current directory.
logging.file.max-history=0 # Maximum of archive log files to keep. Only supported with the default logback setup.
logging.file.max-size=10MB # Maximum log file size. Only supported with the default logback setup.
 

Комментарии:

1. Извините, Андроникус, я не дополнил данные о том, что я сделал, и эта часть была включена, спасибо, что ответили мне.

2. @Violet48 нет проблем, считайте пометку правильной, если это было полезно;)