Logs

Les logs du serveur sont consultables

  • via docker
docker logs -f eproxy
  • ou via le file system dans le répertoire (historique de 90 jours par défaut avec un fichier par jour)
/dbx/eproxy/server/logs

Il est possible de personnaliser le niveau de log

  • soit globalement en modifiant les variables d’environnement DEVBOX_ROOT_LOG_LEVEL et DEVBOX_EPROXY_LOG_LEVEL avec les valeurs TRACE, DEBUG, INFO, WARN, ERROR
  • soit plus finement en utilisant le fichier logback-spring.xml suivant et en le déposant dans le répertoire /dbx/eproxy/server/config/logback-spring.xml
<configuration>

    <!-- Variables (équivalent ${...}) -->
    <property name="ROOT_LOG_LEVEL" value="${DEVBOX_ROOT_LOG_LEVEL:-INFO}"/>
    <property name="EPROXY_LOG_LEVEL" value="${DEVBOX_EPROXY_LOG_LEVEL:-DEBUG}"/>
    <property name="LOG_FILE" value="${ARTIFACT_ID:-devboxsante}"/>

    <!-- Appender console simple -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- Appender fichier avec rotation par date -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/logs/${LOG_FILE}.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- nom des fichiers archivés : log par jour -->
            <fileNamePattern>/logs/${LOG_FILE}.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- durée de rétention : 90 jours -->
            <maxHistory>90</maxHistory>
            <!-- compression gzip des anciens logs -->
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>

        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- Logger root -->
    <root level="${ROOT_LOG_LEVEL}">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>

    <!-- Loggers spécifiques -->
    <logger name="fr.devboxsante" level="${EPROXY_LOG_LEVEL}"/>
    <logger name="org.springframework" level="INFO"/>
    <logger name="org.springframework.cloud.gateway" level="${ROOT_LOG_LEVEL}"/>
    <logger name="org.springframework.http.server.reactive" level="${ROOT_LOG_LEVEL}"/>
    <logger name="org.springframework.web.reactive" level="${ROOT_LOG_LEVEL}"/>

</configuration>