Comment Log4j2 DefaultRolloverStrategy max attribut vraiment travailler?

J'ai configuré un RollingRandomAccessFileAppender avec seulement le OnStartupTriggeringPolicy ensemble, mais quand j'ai mis le max attribut de la DefaultRolloverStrategy pour un certain nombre, les journaux continuent à produire de passé ce montant indéfiniment.

Voici mon log4j2.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
        <RollingRandomAccessFile 
            name="RollingRAF" 
            fileName="logs/app.log"
            filePattern="logs/app-%d{[email protected]}.log">
            <PatternLayout>
                <Pattern>%d %p %c{1.} %m%n</Pattern>
            </PatternLayout>
            <Policies>
                <OnStartupTriggeringPolicy />
            </Policies>
            <DefaultRolloverStrategy max="5"/>
        </RollingRandomAccessFile>
    </Appenders>
    <Loggers>
        <Logger name="myLogger" level="warn">
            <AppenderRef ref="RollingRAF"/>
        </Logger>
        <Root level="error">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

Est-ce parce que je n'ai pas un itérateur dans mon modèle de nom?

Est-ce parce que mon nom de fichier précision est définie de secondes?

Est-ce parce que je n'ai que le OnStartupTriggeringPolicy ensemble?

Ou qu'est-ce qui se passe ici?

Mon but ici était de mettre en place un roulement de configuration qui permettront de connecter les 5 dernières application s'exécute.

Devriez-vous utiliser <TimeBasedTriggeringPolicy /> puisque vous utilisez de la date dans le nom du modèle?
Ajout/modification qui ne change pas beaucoup, il continue génère des journaux indéfiniment. Si j'ajoute un itérateur %i et inférieure de la précision à un point où je suis en mesure de générer des 5 journaux avec la même précision, puis il remplace les anciens journaux comme prévu (par exemple, si la précision est définie de minutes et je générer 5 journaux en 1 minute), mais dès que le changement de la date (minute suivante arrive), il permettra de générer plus de 5 journaux. Idéalement, je voulais juste la date dans le nom de fichier pour la commodité de ne pas la fonctionnalité, mais je peux juste omettre la date dans le nom et aller avec une plaine itérateur pour atteindre ce que je veux.
J'ai observé le même comportement et d'accord avec @Plafond-Gecko, le max attribut sur DefaultRolloverStrategy apprently s'applique uniquement à l'itérateur et l'itération itération porte uniquement lorsque le nom de fichier est répété, par conséquent, il ne semble pas possible pour moi d'auto-supprimer les anciens fichiers journaux lorsque les noms sont différents. Néanmoins, il est vraiment étrange que cette fonctionnalité n'existe pas lorsque l'API est donc largelly utilisé pour de nombreuses personnes...

OriginalL'auteur Ceiling Gecko | 2014-07-03