我正在为我的应用程序日志创建一个解决方案,它有各种类型的日志记录(用户,应用程序等),希望将每种类型的日志保存在单独的文件中。多个log4j日志文件
这可能与log4j或其他API? 我怎么能这样做?
如果您认为有趣,我编辑问题并放置代码,但我认为它不值得,它们仍然非常基本。
在此先感谢。
我正在为我的应用程序日志创建一个解决方案,它有各种类型的日志记录(用户,应用程序等),希望将每种类型的日志保存在单独的文件中。多个log4j日志文件
这可能与log4j或其他API? 我怎么能这样做?
如果您认为有趣,我编辑问题并放置代码,但我认为它不值得,它们仍然非常基本。
在此先感谢。
五言中,使用不同的FileAppenders 例来自互联网:
log4j.rootLogger=DEBUG
# AdminFileAppender - used to log messages in the admin.log file.
log4j.appender.AdminFileAppender=org.apache.log4j.FileAppender
log4j.appender.AdminFileAppender.File=admin.log
log4j.appender.AdminFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.AdminFileAppender.layout.ConversionPattern= %-4r [%t] %-5p %c %x - %m%n
# ReportFileAppender - used to log messages in the report.log file.
log4j.appender.ReportFileAppender=org.apache.log4j.FileAppender
log4j.appender.ReportFileAppender.File=report.log
log4j.appender.ReportFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ReportFileAppender.layout.ConversionPattern= %-4r [%t] %-5p %c %x - %m%n
log4j.logger.com.vaannila.admin=WARN,AdminFileAppender
log4j.logger.com.vaannila.report=DEBUG,ReportFileAppender
现在,您可以登录到admin.log Logger.getLogger("com.vaannila.admin").log("To admin log")
和报告日志Logger.getLogger("com.vaannila.report").log("To report log")
我不明白部分“Logger.getLogger(”com.vaannila.admin“).log(”要管理日志“)”,log4j如何知道我想记录AdminFileAppender,在那个例子中? 我尝试在这里做类似的事,但它不工作... – caarlos0
log4j.logger.'com.vaannila.admin' =警告,AdminFileAppender这个属性说如果你登录到'com.vaannila.admin'或者'com.vaannila.admin.xxx.yyy.zzz'然后使用AdminFileAppender(这是FileAppender与文件'admin.log') – korifey
嗯,现在它的工作。非常感谢,@ korifey,上帝保佑你。 – caarlos0
Log4j为Logger和Appenders提供。做到这一点的方法是为每个你想要的文件都有一个Appender。他们建立了一套适当的记录器,指向适当的Appender(s)。记录器通常使用软件包名称进行设置。如果这可以为你工作,程序包x中的代码会写入文件y,就这么做。否则,为每个输出文件创建记录器并让代码选择适当的记录器。您也可以使用记录器并将信息发送给多个Appender,以便您可以根据需要进行设置。
查看korifey的帖子,了解如何设置它的例子。
你是什么意思与不同类型的日志记录?日志级别(DEBUG,INFO,WARN ...)或者日志代码发生的不同类,或者你想要不同的日志文件,这取决于恰好碰巧运行代码的用户,或者你希望它通过线程不同名称? –
[created-multiple-log-files-of-different-content-with-log4j]可能的重复(http://stackoverflow.com/questions/728295/creating-multiple-log-files-of-different-content- with-log4j) –
@olly_uk我认为那不是重复的。 – caarlos0