【问题标题】:Logging errors in a single file在单个文件中记录错误
【发布时间】:2016-03-23 16:31:12
【问题描述】:

是否可以在单个文件中记录所有应用程序错误。

我已将应用程序配置为使用 log4j 保存日志,但我需要一个仅包含错误日志的文件。

感谢您的帮助。

【问题讨论】:

  • 所以你想使用所有不同的日志级别,但只在日志文件中写入错误?这是你想要的吗?
  • @saadoune 你能告诉我吗?我回复的内容对你有用吗?
  • vishal gajera,谢谢你的回答,我现在将实施并回复你,同时,你能告诉我是否有可能甚至有一个空指针异常,例如,日志中没有打印。错误(“”)?

标签: java logging log4j


【解决方案1】:

在你的 log4j 配置文件中同样配置它,以便将错误放入单独的文件中,

 log4j.rootLogger=DEBUG,INFO,FILE,ERROR_FILE

log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.file=${catalina.base}/logs/myApplicationLogs.log
log4j.appender.FILE.Append=true
log4j.appender.FILE.Encoding=UTF-8
log4j.appender.FILE.MaxFileSize=5MB
log4j.appender.FILE.MaxBackupIndex=10
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c:%L - %m%n

    log4j.appender.ERROR_FILE=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.ERROR_FILE.file=${catalina.base}/logs/ERROR_fileName.log
    log4j.appender.ERROR_FILE.DatePattern='.'yyyy-MM-dd'.log'
    log4j.appender.ERROR_FILE.Threshold=ERROR
    log4j.appender.ERROR_FILE.Append=true
    log4j.appender.ERROR_FILE.Encoding=UTF-8
    log4j.appender.ERROR_FILE.MaxFileSize=5MB
    log4j.appender.ERROR_FILE.MaxBackupIndex=10
    log4j.appender.ERROR_FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.ERROR_FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c:%L - %m%n

在您的代码中使用单独的文件时出错,

log.error("--- error text ---");

这将帮助您将错误放入单独的文件中,即ERROR_fileName.log

同样是正常的日志打印,

log.debug("--- normal log text ----");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-14
    • 2016-05-28
    • 2018-12-26
    • 2015-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多