Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用log4j附加器到org.slf4j.Logger_Java_Logging - Fatal编程技术网

Java 使用log4j附加器到org.slf4j.Logger

Java 使用log4j附加器到org.slf4j.Logger,java,logging,Java,Logging,我正在使用SLF4J 1.7.7和log4j 1.7.7绑定 在一个特定的实例中,我被迫在代码中提供log4j配置(因此没有log4j.properties) 我需要创建ConsoleAppender和FileAppender实例,并添加到RootLogger的appender列表中 我希望使用下面这样的东西 Map<String, String> env = System.getenv(); String logTarget = env.get("WP_LOGTARGET");

我正在使用SLF4J 1.7.7和log4j 1.7.7绑定

在一个特定的实例中,我被迫在代码中提供log4j配置(因此没有log4j.properties)

我需要创建ConsoleAppender和FileAppender实例,并添加到RootLogger的appender列表中

我希望使用下面这样的东西

Map<String, String> env = System.getenv();
String logTarget = env.get("WP_LOGTARGET");

if(logTarget != null) {
    if(logTarget .equalsIgnoreCase("file")) {
        FileAppender fa = new FileAppender();

        logger.rootLogger().addAppender(fa);
    } else if(logTarget .equalsIgnoreCase("console")) {
        ConsoleAppender console = new ConsoleAppender(); //create appender

        logger.rootLogger().addAppender(console);

    } else {
        // default to System.out.println

    }
} else {
    // default to System.out.println
}
当然,如果我跳过SLF4J Logger类,而使用log4j实现,它的效果会非常好

有什么想法吗

logger.rootLogger().addAppender(fa);

logger.rootLogger().addAppender(console);