Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.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日志文件格式获取Intellij中的问题_Java_Selenium_Intellij Idea_Cucumber - Fatal编程技术网

Java 使用log4j日志文件格式获取Intellij中的问题

Java 使用log4j日志文件格式获取Intellij中的问题,java,selenium,intellij-idea,cucumber,Java,Selenium,Intellij Idea,Cucumber,我试图使用Log4j2在Intellij中生成日志文件。我为Log4j2创建了属性文件,并在框架的基类中对其进行了配置。我的日志在我的项目根目录中生成,没有任何问题。但是当我打开这个日志文件时,Intellij向我显示了一个日志格式错误,所以任何人都可以帮助我解决Intellij的这个问题 这是我的log4j2.properties文件:- //name=PropertiesConfig property.filename = logs appenders = console, file app

我试图使用Log4j2在Intellij中生成日志文件。我为Log4j2创建了属性文件,并在框架的基类中对其进行了配置。我的日志在我的项目根目录中生成,没有任何问题。但是当我打开这个日志文件时,Intellij向我显示了一个日志格式错误,所以任何人都可以帮助我解决Intellij的这个问题

这是我的log4j2.properties文件:-

//name=PropertiesConfig
property.filename = logs
appenders = console, file
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName=${filename}/propertieslogs.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
appender.file.append=true

loggers=file
logger.file.name=com.framework
logger.file.level = debug
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = LOGFILE
rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
以下是我的控制台日志:-

Testing started at 4:09 PM ...
/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/java -Dorg.jetbrains.run.directory=/Users/keshavmac/IdeaProjects/com.CucumberHybrid/src/test/java/com/framework/features -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=58681:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/lib/tools.jar:/Users/keshavmac/IdeaProjects/com.CucumberHybrid/target/test-classes:/Users/keshavmac/IdeaProjects/com.CucumberHybrid/target/classes:/Users/keshavmac/.m2/repository/org/apache/logging/log4j/log4j-core/2.13.3/log4j-core-2.13.3.jar:/Users/keshavmac/.m2/repository/org/apache/logging/log4j/log4j-api/2.13.3/log4j-api-2.13.3.jar:/Users/keshavmac/.m2/repository/io/github/bonigarcia/webdrivermanager/3.8.1/webdrivermanager-3.8.1.jar:/Users/keshavmac/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/Users/keshavmac/.m2/repository/commons-io/commons-io/2.6/commons-io-2.6.jar:/Users/keshavmac/.m2/repository/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar:/Users/keshavmac/.m2/repository/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar:/Users/keshavmac/.m2/repository/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar:/Users/keshavmac/.m2/repository/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar:/Users/keshavmac/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:/Users/keshavmac/.m2/repository/commons-codec/commons-codec/1.10/commons-codec-1.10.jar:/Users/keshavmac/.m2/repository/org/rauschig/jarchivelib/1.0.0/jarchivelib-1.0.0.jar:/Users/keshavmac/.m2/repository/org/apache/commons/commons-compress/1.18/commons-compress-1.18.jar:/Users/keshavmac/.m2/repository/org/jsoup/jsoup/1.11.3/jsoup-1.11.3.jar:/Users/keshavmac/.m2/repository/org/testng/testng/6.14.3/testng-6.14.3.jar:/Users/keshavmac/.m2/repository/com/beust/jcommander/1.72/jcommander-1.72.jar:/Users/keshavmac/.m2/repository/org/apache-extras/beanshell/bsh/2.0b6/bsh-2.0b6.jar:/Users/keshavmac/.m2/repository/io/cucumber/cucumber-java/6.1.2/cucumber-java-6.1.2.jar:/Users/keshavmac/.m2/repository/io/cucumber/cucumber-core/6.1.2/cucumber-core-6.1.2.jar:/Users/keshavmac/.m2/repository/io/cucumber/cucumber-gherkin/6.1.2/cucumber-gherkin-6.1.2.jar:/Users/keshavmac/.m2/repository/io/cucumber/cucumber-gherkin-messages/6.1.2/cucumber-gherkin-messages-6.1.2.jar:/Users/keshavmac/.m2/repository/io/cucumber/messages/12.1.1/messages-12.1.1.jar:/Users/keshavmac/.m2/repository/io/cucumber/tag-expressions/3.0.0/tag-expressions-3.0.0.jar:/Users/keshavmac/.m2/repository/io/cucumber/cucumber-expressions/10.2.1/cucumber-expressions-10.2.1.jar:/Users/keshavmac/.m2/repository/io/cucumber/datatable/3.3.1/datatable-3.3.1.jar:/Users/keshavmac/.m2/repository/io/cucumber/cucumber-plugin/6.1.2/cucumber-plugin-6.1.2.jar:/Users/keshavmac/.m2/repository/io/cucumber/docstring/6.1.2/docstring-6.1.2.jar:/Users/keshavmac/.m2/repository/io/cucumber/html-formatter/6.0.3/html-formatter-6.0.3.jar:/Users/keshavmac/.m2/repository/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0.jar:/Users/keshavmac/.m2/repository/net/masterthought/cucumber-reporting/5.3.0/cucumber-reporting-5.3.0.jar:/Users/keshavmac/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.10.1/jackson-databind-2.10.1.jar:/Users/keshavmac/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.10.1/jackson-annotations-2.10.1.jar:/Users/keshavmac/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1.jar:/Users/keshavmac/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.1/jackson-datatype-jsr310-2.10.1.jar:/Users/keshavmac/.m2/repository/org/apache/velocity/velocity-engine-core/2.1/velocity-engine-core-2.1.jar:/Users/keshavmac/.m2/repository/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar:/Users/keshavmac/.m2/repository/joda-time/joda-time/2.10.5/joda-time-2.10.5.jar:/Users/keshavmac/.m2/repository/org/codehaus/plexus/plexus-utils/3.3.0/plexus-utils-3.3.0.jar:/Users/keshavmac/.m2/repository/com/googlecode/owasp-java-html-sanitizer/owasp-java-html-sanitizer/20191001.1/owasp-java-html-sanitizer-20191001.1.jar:/Users/keshavmac/.m2/repository/commons-configuration/commons-configuration/1.10/commons-configuration-1.10.jar:/Users/keshavmac/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar:/Users/keshavmac/.m2/repository/io/cucumber/cucumber-testng/6.1.2/cucumber-testng-6.1.2.jar:/Users/keshavmac/.m2/repository/org/seleniumhq/selenium/selenium-java/3.141.59/selenium-java-3.141.59.jar:/Users/keshavmac/.m2/repository/org/seleniumhq/selenium/selenium-api/3.141.59/selenium-api-3.141.59.jar:/Users/keshavmac/.m2/repository/org/seleniumhq/selenium/selenium-chrome-driver/3.141.59/selenium-chrome-driver-3.141.59.jar:/Users/keshavmac/.m2/repository/org/seleniumhq/selenium/selenium-edge-driver/3.141.59/selenium-edge-driver-3.141.59.jar:/Users/keshavmac/.m2/repository/org/seleniumhq/selenium/selenium-firefox-driver/3.141.59/selenium-firefox-driver-3.141.59.jar:/Users/keshavmac/.m2/repository/org/seleniumhq/selenium/selenium-ie-driver/3.141.59/selenium-ie-driver-3.141.59.jar:/Users/keshavmac/.m2/repository/org/seleniumhq/selenium/selenium-opera-driver/3.141.59/selenium-opera-driver-3.141.59.jar:/Users/keshavmac/.m2/repository/org/seleniumhq/selenium/selenium-remote-driver/3.141.59/selenium-remote-driver-3.141.59.jar:/Users/keshavmac/.m2/repository/org/seleniumhq/selenium/selenium-safari-driver/3.141.59/selenium-safari-driver-3.141.59.jar:/Users/keshavmac/.m2/repository/org/seleniumhq/selenium/selenium-support/3.141.59/selenium-support-3.141.59.jar:/Users/keshavmac/.m2/repository/net/bytebuddy/byte-buddy/1.8.15/byte-buddy-1.8.15.jar:/Users/keshavmac/.m2/repository/org/apache/commons/commons-exec/1.3/commons-exec-1.3.jar:/Users/keshavmac/.m2/repository/com/google/guava/guava/25.0-jre/guava-25.0-jre.jar:/Users/keshavmac/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar:/Users/keshavmac/.m2/repository/org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar:/Users/keshavmac/.m2/repository/com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3.jar:/Users/keshavmac/.m2/repository/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar:/Users/keshavmac/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar:/Users/keshavmac/.m2/repository/com/squareup/okhttp3/okhttp/3.11.0/okhttp-3.11.0.jar:/Users/keshavmac/.m2/repository/com/squareup/okio/okio/1.14.0/okio-1.14.0.jar:/Applications/IntelliJ IDEA CE.app/Contents/plugins/junit/lib/junit-rt.jar:/Users/keshavmac/Library/Application Support/JetBrains/IdeaIC2020.2/plugins/cucumber-java/lib/cucumber-jvmFormatter.jar:/Users/keshavmac/Library/Application Support/JetBrains/IdeaIC2020.2/plugins/cucumber-java/lib/cucumber-jvmFormatter5.jar:/Users/keshavmac/Library/Application Support/JetBrains/IdeaIC2020.2/plugins/cucumber-java/lib/cucumber-jvmFormatter4.jar:/Users/keshavmac/Library/Application Support/JetBrains/IdeaIC2020.2/plugins/cucumber-java/lib/cucumber-jvmFormatter3.jar io.cucumber.core.cli.Main --plugin org.jetbrains.plugins.cucumber.java.run.CucumberJvm5SMFormatter --name ^To test search functionality with blank submit$ --glue com.framework.utils --glue com.framework.stepDef /Users/keshavmac/IdeaProjects/com.CucumberHybrid/src/test/java/com/framework/features/Home.feature
Invoking new Webdriver instance
[INFO ] 2020-08-07 16:09:32.230 [main] BaseSetup - New Webdriver instance invoked
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Starting ChromeDriver 84.0.4147.30 (48b3e868b4cc0aa7e8149519690b6f6949e110a8-refs/branch-heads/4147@{#310}) on port 27490
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
Aug 07, 2020 4:09:33 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
The page title verified is My Store
The validation for mainbanner on homepage has been completed
The validation for search field on homepage has been completed
Closing existing Webdriver instance
[INFO ] 2020-08-07 16:09:41.853 [main] BaseSetup - Webdriver instance closed

1 Scenarios (1 passed)
5 Steps (5 passed)
0m10.408s



Process finished with exit code 0
这是我使用日志管理器并调用日志的基类文件:-

package com.framework.utils;

import io.cucumber.java.After;
import io.cucumber.java.Before;
import io.github.bonigarcia.wdm.WebDriverManager;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.safari.SafariDriver;
import java.util.concurrent.TimeUnit;

public class BaseSetup {

    protected static WebDriver driver=null;
    protected static PropertiesReader read;
    protected static Logger logger;

    @Before
    public void pre_setup(){
        read=new PropertiesReader();
        logger= LogManager.getLogger(BaseSetup.class.getName());
    }

    public static WebDriver webdriverSetup(){

        if (driver==null){
            System.out.println("Invoking new Webdriver instance");
            logger.info("New Webdriver instance invoked");
            if(read.getBrowsername().equalsIgnoreCase("chrome")){
                WebDriverManager.chromedriver().setup();
                ChromeOptions options=new ChromeOptions();
                options.addArguments("--disable-notifications");
                driver=new ChromeDriver(options);
            }

            else if (read.getBrowsername().equalsIgnoreCase("safari")) {
                driver=new SafariDriver();
            }
        }
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        return driver;
    }

    @After
    public void teardown(){
        if (driver!=null){
            System.out.println("Closing existing Webdriver instance");
            logger.info("Webdriver instance closed");
            driver.close();
            driver.quit();
            driver=null;
        }
    }
}
以下是我在Intellij in日志文件中遇到的日志格式错误:-


根据@hce的建议,我在ideolog日志格式的配置设置中使用了,并配置了一个新模式,即`%d{yyyy-MM-dd HH:MM:ss,SSS},启用后,Intellij立即抛出的错误消失了。
因此,在以Ideolog的日志格式添加此模式后,错误得以解决。

这是我在日志格式的Intellij in日志文件中遇到的错误。
当插件使用任何第三个插件查看日志时?看起来需要进行相应的配置。@Andrey我正在使用默认插件Ideolog plugin来查看Intellij中的日志文件。我不知道插件所需的日志格式配置,所以你能帮我找到该插件的适当配置吗检查插件文档:关于自定义日志格式。我检查了日志格式的插件配置,它没有明确定义它支持哪种格式,我们将在@keshavdwivedi定义它,请尝试%d{yyyy-MM-dd HH:MM:ss,SSS}(逗号分隔符,而不是纳秒点)。