代码之家  ›  专栏  ›  技术社区  ›  Jack BeNimble

Java-log4既不打印到控制台也不打印到文件

  •  0
  • Jack BeNimble  · 技术社区  · 5 年前

    我正试图使用log4j将消息从一个独立的Java应用程序打印到Eclipse中的控制台,但它没有打印任何内容。这是代码:

    公告

        static Logger logger = LoggerFactory.getLogger(AnalyticsBackupUtil.class);
    

    打印报表:

    public static void main(String args[]) {
    
        String log4jConfigFile = System.getProperty("user.dir") + File.separator + "log4j.properties";
        PropertyConfigurator.configure(log4jConfigFile);
        logger.debug("this is a debug log message");
        logger.info("this is a information log message");
        logger.warn("this is a warning log message");
        logger.error("this is an error log message");
    

    ...

    属性文件:

    log4j.rootLogger=DEBUG, Appender1,Appender2
    log4j.appender.Appender1=org.apache.log4j.ConsoleAppender
    log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout
    log4j.appender.Appender1.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n
    log4j.appender.Appender2=org.apache.log4j.FileAppender
    log4j.appender.Appender2.File=applog.txt
    log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout
    log4j.appender.Appender2.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n
    

    专家

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    

    知道可能是什么问题吗?

    0 回复  |  直到 5 年前
        1
  •  1
  •   Piotr P. Karwasz    5 年前

    Log4j 1.x没有方法 LoggerFactory.getLogger 。您可能正在使用 org.slf4j.Logger org.slf4j.LoggerFactory .

    如果这是有意的(使用像SLF4j这样的日志API可以轻松地更改后端),则需要添加 slf4j-log4j12 绑定到类路径。