当前位置: 首页 > 知识库问答 >
问题:

日志文件未在log4j中生成

仲孙温文
2023-03-14

我是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中配置了我的项目:配置

我做了一切好事。但是日志文件没有生成。当我以编程方式实现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写入日志文件?

共有2个答案

邵奇
2023-03-14

你可以参考这个文件:log4j。属性

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
吉凯捷
2023-03-14

确保log4j。属性在默认包中

# 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
 类似资料:
  • 我试图实现log4j。我用log4j创建了一个示例java程序。 下面是我的log4j。属性: 我正在控制台屏幕上获取输出。但是没有生成日志文件。我必须做什么才能生成日志文件,谢谢

  • 问题内容: 我们有几个同时运行的作业,它们必须为log4j使用相同的配置信息。他们都使用相同的附加程序将日志转储到一个文件中。有没有一种方法可以让每个作业动态命名其日志文件,以使它们保持独立? 谢谢 汤姆 问题答案: 您可以为每个作业传递Java系统属性吗?如果是这样,您可以像这样进行参数化: 然后在您的log4j.properties中: 您可以使用主机环境(例如)中的值填充Java系统属性,该

  • 有没有人知道为什么这个日志没有写入文件。它将两次写入标准输出,但不写入文件: 此外,我尝试删除“stdout”附加器,但我没有得到任何日志记录。 log4j.rootlogger=debug,Stdout,mainAppender log4j.appender.stdout=org.apache.log4j.consoleappender log4j.appender.stdout.layout=

  • 问题内容: 我正在开发一个通过Commons使用Log4J的项目。 我正在尝试找到日志文件的路径,但是没有找到合适的方法来从Logger返回日志文件的路径。 有人尝试过吗? 问题答案: 您必须 从根记录器 获取所有附加程序,然后获取日志文件的名称。

  • 我试图在springboot中配置log4j2。我已经从pom.xml.中删除(排除)了登录依赖项,我正在名为log4j2.xml的资源文件夹下使用此xml 这是我的控制器类。 我在这里错过了什么吗?我尝试使用application.properties也使用最新版本的Log4j2.But仍然没有created.When我运行应用程序,我看不到任何日志文件在xml中指定的路径上动态创建。

  • 我在下面插入了maven依赖项: 用于log4j.xml 在下面插入用于日志生成的语句: 专用静态最终记录器日志=LogManager。getLogger(LoginTest.class);日志信息(“打开的url”); 问题是我无法在以下位置找到文件日志:C:/logs/demoApplication。有人能告诉我我错过了什么吗?