【发布时间】:2014-09-26 16:21:30
【问题描述】:
这是我面临的挑战:
我有一个 servlet 程序。我需要将每个用户的日志写入以该用户命名的文件夹。 像这样的:
// 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");
在我的示例中,我使用了标记。但我真的不知道标记是否适合这项任务。
一般来说,我的 appender 应该表现得像 RollingRandomAccessFile appender。 我猜 appender 的配置必须是这样的:
<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>
有什么想法吗?
【问题讨论】:
标签: java logging configuration log4j log4j2