log4j 中不生成日志文件

新手上路,请多包涵

我是 log4j 的新手。我创建了一个在其中实现 log4j 的示例 java 程序。

下面是java程序:

 package logging;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;
public class Logging {
    /**
     * @param args the command line arguments
     */
    private static Logger logger = Logger.getLogger(Logging.class);
    public static void main(String[] args) {
        BasicConfigurator.configure();

         logger.trace("This is a Trace");
         logger.debug("This is a Debug");
         logger.info("This is an Info");
         logger.warn("This is a Warn");
         logger.error("This is an Error");
         logger.fatal("This is a Fatal");

    }

}

我在控制台屏幕上得到输出。但是 没有生成日志文件。我还使用以下链接在 Eclipse neon 中配置了我的项目: Configuration

我已经做好了一切。但是日志文件没有生成。当我以编程方式实现 log4j 时,文件正在生成。以下是我的 属性文件:

 #root

log4j.logger.com.apress.logging.log4j=debug,dest

log4j.additivity.com.apress.logging.log4j=false

#define the appender
log4j.appender.dest = org.apache.log4j.DailyRollingFileAppender

#set the name of the file
log4j.appender.dest.File=${user.home}/log.out

#setting the immediate flush to true (default)
log4j.appender.dest.ImmediateFlush=true

#setting the threshold
log4j.appender.dest.Threshold=ERROR

#setting the append to false, overwrite
log4j.appender.dest.Append=true

#set the DatePattern
log4j.appender.dest.DatePattern='.' yyyy-MM-dd

我需要做什么才能让 Log4J 写入日志文件?

原文由 Hema Chandra 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.7k
2 个回答

确保 log4j.properties 在默认包中

# Root logger option
    log4j.rootLogger=DEBUG, stdout, file
    log4j.logger.infoLogger=DEBUG, infoLogger

    log4j.additivity.infoLogger = false
    # Redirect log messages to console
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

    # Redirect log messages to a log file, support file rolling.
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=E:\\LOG\\ConvertorLogger.log
    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{1}:%L - %m%n

    # Redirect log messages to a log file, support file rolling.
    log4j.appender.infoLogger=org.apache.log4j.RollingFileAppender
    log4j.appender.infoLogger.File=E:\\LOG\\ConvertorInfoLogger.log
    log4j.appender.infoLogger.MaxFileSize=5MB
    log4j.appender.infoLogger.MaxBackupIndex=10
    log4j.appender.infoLogger.layout=org.apache.log4j.PatternLayout
    log4j.appender.infoLogger.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

原文由 johnsi george 发布,翻译遵循 CC BY-SA 3.0 许可协议

可以参考这个文件:log4j.properties

 log4j.rootLogger=WARN,stdout,R
  log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c -%m%n
  log4j.appender.R=org.apache.log4j.RollingFileAppender
  log4j.appender.R.File=${user.home}/log.out
  log4j.appender.MaxFileSize=100KB
  log4j.appender.R.MaxBackupIndex=1
  log4j.appender.R.layout=org.apache.log4j.PatternLayout
  log4j.appender.R.layout.ConversionPattern = %p %t %c -%m%n
  log4j.logger.com.foo=WARN

原文由 lpgad 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题