Log4j2: Comment écrire des journaux, dans des fichiers séparés pour chaque utilisateur?

Voici le défi que je suis confronté:

J'ai une servlet programme. Et j'ai besoin d'écrire des journaux pour chaque utilisateur dans le dossier baptisé d'après le nom de l'utilisateur.
Quelque chose comme ceci:

    //stores message to David folder
    ///root_path/David/logfile.log
    logger.error(MarkerManager.getMarker("David"), "Error happened");

    //stores message to Mark folder
    ///root_path/Mark/logfile.log                 
    logger.error(MarkerManager.getMarker("Mark"), "Something is broken");

Dans mon exemple, j'ai utilisé des marqueurs. Mais je ne sais pas vraiment si les marqueurs appropriés pour cette tâche.

En général mon appender devrait se comporter comme RollingRandomAccessFile appender.
Je suppose config pour appender doit ressembler à quelque chose comme ceci:

     <RollingRandomAccessFile name="rollingFile"
                 fileName="logs/{markerName ?????}/movie-db.log"
                 filePattern="logs/log-%d{yyyy-MM-dd}-%i.log.zip"
                 append="false"
                 immediateFlush="false"
                 ignoreExceptions="true">
        <PatternLayout pattern="%d{ISO8601} %level{length=5} [%thread] %logger - %msg%n"/>
        <Policies>
            <SizeBasedTriggeringPolicy size="25 MB"/>
            <TimeBasedTriggeringPolicy />
        </Policies>
        <DefaultRolloverStrategy max="10"/>
    </RollingRandomAccessFile>

Des idées?

OriginalL'auteur Yurii Bondarenko | 2014-08-04