[英]Log4j: specific logging
I have a service class that import and parse files from an ftp server. 我有一个服务类,可以从ftp服务器导入和解析文件。 This task can be executed from a Spring controller when the user choose a specific action.
当用户选择特定动作时,可以从Spring控制器执行此任务。
The same service is used by a scheduled task (TimerTask) that everyday at a specific time do the same. 计划任务(TimerTask)使用相同的服务,每天在特定时间执行相同的服务。
I would separate logging for user / scheduled execution into different files: 我会将用户/计划执行的日志记录分为不同的文件:
logs/scheduledImport.log
logs/userImport.log
Is it possible with Log4j? Log4j是否可能?
Of course. 当然。 First you must define 2 different file appenders.
首先,您必须定义2个不同的文件附加器。
<appender name="default.file" class="org.apache.log4j.FileAppender">
<param name="file" value="/log/userImport.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %-5p [%c{1}] - %m%n" />
</layout>
</appender>
<appender name="another.file" class="org.apache.log4j.FileAppender">
<param name="file" value="/log/scheduledImport.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %-5p [%c{1}] - %m%n" />
</layout>
</appender>
Then you define your loggers: 然后定义记录器:
<logger name="com.foo.UserService" additivity="false">
<level value="debug" />
<appender-ref ref="default.file" />
</logger>
<logger name="com.foo.ScheduledService" additivity="false">
<level value="debug" />
<appender-ref ref="another.file" />
</logger>
You can use different loggger instances. 您可以使用不同的Loggger实例。 In this case you can apply different settings (output file) for each logger.
在这种情况下,您可以为每个记录器应用不同的设置(输出文件)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.