我已经把log4j放到了我的buildpath中,但是当我运行我的应用程序时,我得到了以下消息:

log4j:WARN No appenders could be found for logger (dao.hsqlmanager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

这些警告是什么意思?这里的阑尾是什么?


当前回答

快速的解决方案:

为main函数添加代码: String log4jConfPath = "/path/to/log4j.properties"; PropertyConfigurator.configure (log4jConfPath); 创建一个名为log4j的文件。/path/to的属性 log4j。rootLogger = INFO, stdout 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{yy/MM/dd HH: MM:ss} %p %c{2}: %m%n

其他回答

如果log4j。你正在使用Spring Boot创建一个WAR文件部署到应用服务器上,你省略了一个web.xml文件来支持Spring Boot的自动配置,并且你没有得到任何日志消息,你需要显式地配置Log4j。假设您正在使用Log4j 1.2.x:

public class AppConfig extends SpringBootServletInitializer {

    public static void main( String[] args ) {
        // Launch the application
        ConfigurableApplicationContext context = SpringApplication.run( AppConfig.class, args );
    }

    @Override
    protected SpringApplicationBuilder configure( SpringApplicationBuilder application ) {
        InputStream log4j = this.getClass().getClassLoader().getResourceAsStream("log4j.properties");
        PropertyConfigurator.configure(log4j);
        return application;
    }

// Other beans as required...
}

在java eclipse中将conf_ref复制到conf文件夹中。

看起来您需要添加log4j的位置。属性文件到Eclipse中的类路径中。

确保您的项目在Eclipse中是打开的,然后单击Eclipse顶部的“Run”菜单,然后单击以下内容:

运行 运行配置 类路径(选项卡) 用户条目 高级(右侧按钮) 添加文件夹 然后导航到包含log4j的文件夹。属性文件 应用 运行

错误消息将不再出现。

确保属性文件已正确设置。 同样,似乎编译器无法找到属性文件,您可以在pom中设置如下(仅当您使用maven project时)。

<build>
       <sourceDirectory> src/main/java</sourceDirectory>
       <testSourceDirectory> src/test/java</testSourceDirectory>
        <resources>
             <resource>
                  <directory>resources</directory>
             </resource>
        </resources>           
</build >

在我的例子中,错误是标记“可加性”。如果你的根项目包为“false”,那么子包将没有appender,你将看到“appender not found”错误。