Accéder au contenu principal Passer au contenu complémentaire

Rotation des logs Syncope

Définissez la stratégie de rotation dans $IAM_HOME/apache-tomcat/webapps/<app>/WEB-INF/classes/log4j2.xml.

Pour plus d'informations concernant cet appender de rotation des logs Syncope, consultez la documentation Apache (en anglais) : https://logging.apache.org/log4j/2.x/manual/appenders.html

Procédure

  1. Ouvrez le fichier $IAM_HOME/apache-tomcat/webapps/<app>/WEB-INF/classes/log4j2.xml et trouvez l'appender utilisé pour définir la stratégie de rotation des logs. Cet appender peut ressembler à ceci :

    Exemple

    <appenders>
        <RollingRandomAccessFile name="main" fileName="${sys:catalina.base}/logs/enduser.log"
                                 filePattern="${sys:catalina.base}/logs/enduser-%d{yyyy-MM-dd}.log.gz"
                                 immediateFlush="false" append="true">
             <PatternLayout>
                <pattern>%d{HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern>
             </PatternLayout>
             <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="250 MB"/>
             </Policies>
        </RollingRandomAccessFile>
    </appenders>
    Cette configuration par défaut signifie que la rotation s'effectue chaque jour et que la taille totale du fichier est limitée à 250 Mo.
  2. Si vous avez besoin d'ajouter une politique de nettoyage automatique, ajoutez une stratégie de rouleau (roller) à l'appender RollingRandomAccessFile. Par exemple :

    Exemple

    <appenders>
        <RollingRandomAccessFile name="main" fileName="${sys:catalina.base}/logs/enduser.log"
                                 filePattern="${sys:catalina.base}/logs/enduser-%d{yyyy-MM-dd}.log.gz"
                                 immediateFlush="false" append="true">
             <PatternLayout>
                <pattern>%d{HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern>
             </PatternLayout>
             <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="250 MB"/>
             </Policies>
             <DefaultRolloverStrategy max="100">
               <Delete basePath="${baseDir}" maxDepth="2">
                  <IfFileName glob="*/app-*.log.gz">
                     <IfLastModified age="30d">
                       <IfAny>
                        <IfAccumulatedFileSize exceeds="100 GB" />
                        <IfAccumulatedFileCount exceeds="10" />
                       </IfAny>
                     </IfLastModified>
                  </IfFileName>
                </Delete>
             </DefaultRolloverStrategy>
        </RollingRandomAccessFile>
    </appenders>
    
    Note InformationsRemarque : L'application Syncope utilise Log4j 2 pour gérer les niveaux de log. Ces niveaux peuvent être
    • OFF
    • FATAL
    • ERROR
    • WARN
    • INFO
    • DEBUG
    • TRACE
    • Tout
    Pour plus d'informations concernant ces niveaux, consultez la documentation Apache Log4j (en anglais) : Apache Log4J 2 custom logging levels.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.