Log4j2无法创建日志文件

时间:2018-08-13 13:28:35

标签: maven selenium logging log4j

我有一个小问题,因为我的Log4J无法创建日志文件和日志文件夹。我将Selenium WebDriver与Java,TestNG和Maven结合使用。我建立了一个简单的框架,我需要创建一个日志文件。

心爱我的代码段:

pom.xml

  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>testuj</groupId>
  <artifactId>pierwsza-aplikacja</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>pierwsza-aplikacja</name>
  <url>http://maven.apache.org</url>

  <properties>
    <maven.compiler.source>1.6</maven.compiler.source>
    <maven.compiler.target>1.6</maven.compiler.target>
  </properties>

  <build>
  <resources>
        <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
  </resources>


  <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.0</version>
        <configuration>
          <suiteXmlFiles>
            <suiteXmlFile>testng.xml</suiteXmlFile>
          </suiteXmlFiles>
        </configuration>
      </plugin>
</plugins>
</build>

  <dependencies>
       <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.13.0</version>
    </dependency> 

    <dependency>
  <groupId>org.testng</groupId>
  <artifactId>testng</artifactId>
  <version>6.8</version>
  <scope>test</scope>
</dependency>

  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.11.1</version>
  </dependency>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.11.1</version>
  </dependency>

  </dependencies>
</project>

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
       <Properties>
        <Property name="basePath">./logs</Property>
    </Properties>

  <Appenders>
      <RollingFile name="File" fileName="${basePath}/prints.log" filePattern="${basePath}/prints-%d{yyyy-MM-dd}.log">
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
      <SizeBasedTriggeringPolicy size="500" />
          </RollingFile>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="trace">
      <AppenderRef ref="File"/>
    </Root>
  </Loggers>
</Configuration>

validateCategories.java-我的带有Log4j2代码的Java文件

package testuj;

import java.io.IOException;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.testng.Assert;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

import pageObjects.LandingPage;
import resources.base;


public class validateCategories extends base{

    public static Logger Log = LogManager.getLogger(base.class.getName());

    @BeforeTest

    public void initialize() throws IOException {

        driver = intializeDriver();
        Log.info("Driver is initialized");

        driver.get(prop.getProperty("url"));
        Log.info("Navigate to HomePage");

    }

    @Test

    public void basePageNavigation() throws IOException {

        LandingPage l = new LandingPage(driver);
        Assert.assertTrue(l.getNavigationBar().isDisplayed());
        Log.info("Succesfully validation Categories");


    }

    @AfterTest

    public void teardown() {

        driver.close();
    }

}

所有使用Maven进行的测试都是正确的,框架脚本运行良好,除了创建日志外。

0 个答案:

没有答案