在每个URL中保留单独的Log4J日志文件

时间:2016-04-29 10:18:23

标签: spring log4j

我需要将单独的log4j日志文件保存在一个单独的文件夹中。应为每个URL分隔日志文件。我的项目是Spring MVC项目。

例如,

www.xyz.com/test/url1
www.xyz.com/test/url2
www.xyz.com/test/url3

如何配置我的log4j? 有没有办法为方法级别保留单独的log4j文件?

2 个答案:

答案 0 :(得分:0)

它可能。你需要在类中创建不同的记录器实例,例如logger,logger1,logger2,这些应该指向不同的文件。虽然他们将使用相同的基础包覆盖,但您可以将日志移动到不同文件中的不同文件

答案 1 :(得分:0)

这里我发布了配置多个记录器的示例代码。 我已经以这种方式配置了我的log4j文件。

log4j.rootLogger = INFO , stdout

#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n

log4j.appender.pageOneLog=org.apache.log4j.FileAppender
log4j.appender.pageOneLog.File=C:/work/logs/pageOneLog.log
log4j.appender.pageOneLog.layout=org.apache.log4j.PatternLayout
log4j.appender.pageOneLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n

log4j.appender.pageTwoLog=org.apache.log4j.FileAppender
log4j.appender.pageTwoLog.File=C:/work/logs/pageTwoLog.log
log4j.appender.pageTwoLog.layout=org.apache.log4j.PatternLayout
log4j.appender.pageTwoLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n

log4j.category.pageOneLogger=INFO, pageOneLog
log4j.additivity.pageOneLogger=false

log4j.category.pageTwoLogger=INFO, pageTwoLog
log4j.additivity.pageTwoLogger=false

然后以Java代码的方式使用此记录器。

Logger log1 = Logger.getLogger("pageOneLogger");
Logger log2 = Logger.getLogger("pageTwoLogger");