问题描述
我正在为我的应用程序日志创建一个解决方案,该日志具有各种类型的日志记录(用户,应用程序等),希望将每种log保存在单独的文件中.
这是有可能使用log4j或其他API的? 我该怎么办?
如果您认为有趣的话,我会编辑问题并提出代码,但我认为这是不值得的,它们仍然是非常基础的.
预先感谢.
推荐答案
cource,使用不同 互联网的示例:
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")
其他推荐答案
log4j为记录仪和附录提供了.这样做的方法是为您想要的每个文件提供一个appender.他们设置了一套适当的记录仪,该记录器指向适当的appender.通常使用软件包名称设置记录器.如果这对您有用,则包装X中的代码转到文件y,只需执行此操作即可.否则,每个输出文件创建记录仪,并让代码选择适当的记录器.您也可以拥有登录器并将信息发送给多个附录,因此您可以在适当的情况下进行设置.
有关如何设置此设置的示例,请参见Korifey的帖子.
问题描述
I am creating a solution for my application log, which have various types of logging (user, application, etc...), wanted to save each type of log in a separate file.
This is possible with log4j or some other API? How could I do that?
If you deem interesting, I edit the question and put the codes, but I do not think it's worth, they are still very basic.
Thanks in advance.
推荐答案
Of cource, use different FileAppenders Example from internet:
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
Now you can log to admin.log Logger.getLogger("com.vaannila.admin").log("To admin log") and to report log Logger.getLogger("com.vaannila.report").log("To report log")
其他推荐答案
Log4j provides for Loggers and Appenders. The way to do this is to have an Appender for each file you want. They set up an appropriate set of Loggers that point to the appropriate Appender(s). Loggers are usually set up using package names. If this will work for you, code in package x goes to file y, just do that. Otherwise, create Loggers per output file and have the code choose the appropriate logger. You can also have Loggers and send the information to multiple Appenders, so you can set these up as appropriate.
See korifey's post for an example of how to set this up.