我正在为我的应用程序日志创建一个解决方案,它有各种类型的日志记录(用户,应用程序等...),希望将每种类型的日志保存在单独的文件中。

这可以使用log4j或其他一些API吗? 我怎么能这样做?

如果您认为有趣,我会编辑问题并输入代码,但我认为它不值得,它们仍然非常基础。

提前致谢。

===============>>#1 票数:23 已采纳

对于cource,使用来自Internet的不同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")

===============>>#2 票数:2

Log4j提供Loggers和Appender。 这样做的方法是为你想要的每个文件都有一个Appender。 他们设置了一组适当的记录器,指向适当的Appender。 记录器通常使用包名称进行设置。 如果这对您有用,那么包x中的代码将转到文件y,就这样做。 否则,为每个输出文件创建记录器,并让代码选择适当的记录器。 您还可以拥有记录器并将信息发送到多个Appender,以便您可以根据需要进行设置。

有关如何进行设置的示例,请参阅korifey的帖子。

  ask by caarlos0 translate from so

未解决问题?本站智能推荐: