Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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.PropertyConfiguration运行时出错,表示找不到适合配置的方法(FileInputStream)_Java_Gradle_Log4j_Build.gradle - Fatal编程技术网

Java log4j.PropertyConfiguration运行时出错,表示找不到适合配置的方法(FileInputStream)

Java log4j.PropertyConfiguration运行时出错,表示找不到适合配置的方法(FileInputStream),java,gradle,log4j,build.gradle,Java,Gradle,Log4j,Build.gradle,我在Log4j的构建阶段得到以下错误。它说没有为configure(FileInputSteam)找到这样的方法 下面是错误的全部内容 任务:编译ejava失败 E:\GadleDemoProj\src\main\java\com\hal\brands\helper\Logger\LoggerHelper.java:28: error: no suitable method found for configure(FileInputStream)

我在Log4j的构建阶段得到以下错误。它说没有为configure(FileInputSteam)找到这样的方法

下面是错误的全部内容

任务:编译ejava失败

E:\GadleDemoProj\src\main\java\com\hal\brands\helper\Logger\LoggerHelper.java:28: error: no suitable method found for configure(FileInputStream)
                        PropertyConfigurator.configure(inputStream);
                                            ^
    method PropertyConfigurator.configure(Properties) is not applicable
      (argument mismatch; FileInputStream cannot be converted to Properties)
    method PropertyConfigurator.configure(String) is not applicable
      (argument mismatch; FileInputStream cannot be converted to String)
    method PropertyConfigurator.configure(URL) is not applicable
      (argument mismatch; FileInputStream cannot be converted to URL)
我的记录器类如下所示:

 public class LoggerHelper {
    
    private static boolean root = false;
    
    public static Logger getLogger(Class clas) {
        if(root)
            return Logger.getLogger(clas);
        
        /*PropertyConfigurator.configure(ResourceHelper
                .getResourcePath("configfile/log4j.properties"));*/
        FileInputStream inputStream = null;
        try {
            inputStream = new FileInputStream(System.getProperty("user.dir")+"\\src\\main\\resources\\configFile\\log4j.properties");
            
            PropertyConfigurator.configure(inputStream);

        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        root = true;
        return Logger.getLogger(clas);
    }

}

将代码更新为:

public class LoggerHelper {
    
    private static boolean root = false;
    
    public static Logger getLogger(Class clas) {
        if(root)
            return Logger.getLogger(clas);
        
        /*PropertyConfigurator.configure(ResourceHelper
                .getResourcePath("configfile/log4j.properties"));*/
        FileInputStream inputStream = null;
        try {
            inputStream = new FileInputStream(System.getProperty("user.dir")+"\\src\\main\\resources\\configFile\\log4j.properties");
            Properties properties = new Properties();
            properties.load(inputStream);
            
            PropertyConfigurator.configure(properties);

        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        root = true;
        return Logger.getLogger(clas);
    }

}

将代码更新为:

public class LoggerHelper {
    
    private static boolean root = false;
    
    public static Logger getLogger(Class clas) {
        if(root)
            return Logger.getLogger(clas);
        
        /*PropertyConfigurator.configure(ResourceHelper
                .getResourcePath("configfile/log4j.properties"));*/
        FileInputStream inputStream = null;
        try {
            inputStream = new FileInputStream(System.getProperty("user.dir")+"\\src\\main\\resources\\configFile\\log4j.properties");
            Properties properties = new Properties();
            properties.load(inputStream);
            
            PropertyConfigurator.configure(properties);

        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        root = true;
        return Logger.getLogger(clas);
    }

}

您使用的是哪个版本的log4j?您使用的是哪个版本的log4j?B:非常感谢,上面提到的错误已经消失,但我看到它仍然没有写入到这个路径下的日志文件“/Automation\u Report/logs/ApplicationLogs.log”。B-我已经在上面添加了我的log4j.properties。我不确定它为什么不将日志写入日志文件B:请给我这个。尝试了所有的可能性,但不确定出错的地方appender的名称是RFile,我正在使用下面的语句log4j.appender.RFile.Append=true进行显示;当你问起另一个问题时,我希望我已经把它放在堆栈上了,这可能会给你提供更多的细节参考:B:非常感谢上面提到的错误已经消失了,但我看到它仍然没有写入这个路径下的日志文件“/Automation\u Report/logs/ApplicationLogs.log”。B-我已经在上面添加了我的log4j.properties。我不确定它为什么不将日志写入日志文件B:请给我这个。尝试了所有的可能性,但不确定出错的地方appender的名称是RFile,我正在使用下面的语句log4j.appender.RFile.Append=true进行显示;当您提出另一个问题时,我希望我已经把它放在堆栈上了,这可能会给您提供更多细节参考: