Je travaille sur un projet Spring Boot
et j'ai vu la journalisation avec slf4j
et logback
. Ce qui suit est un logback-spring.xml
que j'ai vu qui enregistre les erreurs à la console en plus d'un fichier:Logback - Où les documents XML sont-ils injectés?
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<target>System.out</target>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE}-%d{yyyyMMddd}.%i</fileNamePattern>
<maxFileSize>10MB</maxFileSize>
<totalSizeCap>10GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="ROLLING"/>
<appender-ref ref="STDOUT"/>
</root>
</configuration>
Ma question est, où faire des choses comme ${CONSOLE_LOG_PATTERN}
et ${LOG_FILE}
obtenir leurs données réelles lors de la compilation/ou temps d'exécution chaque fois que cela est utilisé? Je suis curieux parce que ${LOG_FILE}-%d{yyyyMMddd}.%i
me laisse habituellement avec des journaux nommés comme LOG_FILE_IS_UNDEFINED-201707012.0
ce qui m'amène à la conclusion évidente que LOG_FILE
n'est définie nulle part, et je voudrais y remédier.
J'ai vu des ressources comme this, mais elles ne semblent pas fournir suffisamment de détails sur le fonctionnement interne de la façon dont les valeurs sont injectées.
Merci, en plus de votre information, je l'ai appris que dans mon projet de démarrage de printemps, nous avons quelques spécifications qui peuvent aider les autres qui trouvent ce. Il y a un 'application- .properties' fichiers pour chaque environnement ainsi que' application- .properties' pour chaque développeur et pour en utiliser un spécifiquement nous ajoutons '-Dspring.profiles.active = ' au Options VM dans la configuration run/debug. A l'intérieur du profil spécifique de l'utilisateur ou de l'environnement, nous définissons des choses comme 'logging.file' et' logging.level. 'pour spécifier la granularité de la journalisation. –