Logback est utilisé pour la sortie du journal Java (Spring Boot).
"Je veux que vous tourniez lorsque le journal atteint 20 Mo et que vous gardiez 20 fichiers pour le passé." On m'a dit, mais je ne savais pas du tout comment le faire, alors j'ai cherché.
logback-spring.xml
J'ai mis ceci sous src / main / resource
et l'ai tourné.
logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE logback>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<!--Paramètres pour chaque environnement-->
<springProfile name="local">
<!--Spécifiez le répertoire du journal. Et qu'est-ce qui se passerait si/tmp -->
<property name="LOG_DIR" value="/tmp" />
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--Nom et chemin du fichier journal-->
<file> ${LOG_DIR}/adg.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<!--Nom de fichier après rotation.".zip"Si vous le mettez, il sera compressé sans autorisation-->
<fileNamePattern> ${LOG_DIR}/adg_%i.log</fileNamePattern>
<!--Nombre maximum après le fichier/le minimum. Numéro à tenir-->
<minIndex>1</minIndex>
<maxIndex>20</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<!--Faire pivoter en fonction de la taille du fichier-->
<maxFileSize>20MB</maxFileSize>
</triggeringPolicy>
< encoder>
<!--Format de sortie du journal-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] [%file:%line %method] %msg%n</pattern>
</encoder>
</appender>
</springProfile>
<!--Paramètres pour chaque environnement(J'ai essayé de l'écrire comme ça) -->
<springProfile name="prod">
<!--Spécifiez le répertoire du journal(Je l'ai changé dans l'environnement) -->
<property name="LOG_DIR" value="/var/log" />
・ ・ ・
</springProfile>
<!--Niveau de journal-->
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
application.properties
#Paramètres de l'environnement local
spring.profiles.active=local
Au fait, comme moi, comment sortez-vous le journal en premier lieu? Certaines personnes disent cela, alors prenez note.
LogTestController.java
package jp.adg.fuji.log.controllers;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class LogTestController {
public void logLog() {
try {
//Cela seul vous donnera un journal
log.info("journal d'informations");
//Décrivez le processus
} catch (Exception e) {
// log.warn()Il y a aussi
log.error("journal des erreurs", e);
}
return;
}
}
・ Initialement créé avec le nom de fichier logback.xml → Une erreur se produit lors de l'utilisation de springProfile → Changez le nom du fichier en logback-spring.xml
-Bien que j'aie utilisé la balise layout, elle semble être obsolète, donc je l'ai modifiée en encodeur https://logback.qos.ch/codes.html#layoutInsteadOfEncoder
-Une erreur s'est produite car la destination de sortie du journal a également été décrite dans application.properties. → Suppression de la description côté application.properties
・ Copiez et collez sans réfléchir
org/springframework/boot/logging/logback/base.xml
Lorsque j'ai inclus, le journal de l'application était également (involontairement) dans catalina.out
Tu devrais avoir ça aussi, Il vaut mieux définir chaque environnement comme celui-ci, Je veux que vous me disiez s'il y a un tel cadre!