zoukankan      html  css  js  c++  java
  • Apache Log4j2日志配置

    一、Log4j概念

      Log4j是一款可以记录测试日志的开源项目。通过调用其API记录日志信息,可以让我们在执行用例时不必守在电脑面前等待结果,仅需在用例执行完成后,通过Log4j收集到的代码执行信息查看执行结果,以调试程序。

      它主要由3个部分组成:

        1) Logger:Logger类帮助记录不同日志级别的信息:trace < debug < info < warn < error < fatal ,越往后级别越高,输出的日志信息也越少;

        2) Appenders:Appenders是一个对象,log4j支持多种appenders样式用以设置日志输出到不同目的地,可以指定输出目的为控制台、数据库或具体的文件路径;

        3) Layout:Layout类用来配置日志最终的输出格式; 

      Log4j现在推出了Log4j2,本文中主要介绍Log4j2的配置。

    二、Log4j2的配置

      Log4j2没有默认的配置文件,需要我们自己去创建配置文件以设置日志。

      1)  下载log4j2的jar包:

        在apache官网下载:https://logging.apache.org/log4j/2.x/download.html  ,选择二进制的zip包:

        

        在跳转后的页面中选择其中一个服务器即可,我选的是第一个,点击后即可下载:

          

        下载至本地后解压,我们只需要取其中的log4j-api-2.11.1.jar和log4j-core-2.11.1.jar这两个包即可:

          

        然后在IntelliJ IDEA中点击File ---> Project Structure ---> Modules中导入这两个jar文件即可。

        或者我们可以在maven仓库中,分别搜索log4j api和log4j core,搜索到内容后分别把代码复制下来,在pom.xml文件中添加依赖,这个依据个人操作习惯而定,下图是添加依赖的代码:

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

       2) log4j2配置文件

        本文主要讲xml文件的配置,首先配置文件的名称必须为“log4j2.xml”,并且该文件必须在源文件夹下才能生效!

        创建log4j2.xml文件后,将其父文件夹设置为源文件夹,右键文件夹 ---> Mark Directory as ---> Resource Root:      

          

        然后打开log4j2.xml文件,输入配置内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration>
        <Appenders>
            <!--指定日志文件的名称-->
            <RollingFile name="File" fileName="logs/log4j2.log" filePattern="logs/log4j2-%d{yyyy-MM-dd}.log">
                <PatternLayout pattern="%d{yyyy-MM-dd HH:mm.ss} %-5level %c{1} -%msg%n" />
                <Policies>
                    <!-- 指定日志文件每天生成一个新的日志文件;如果日志大于100kb,则重新生成一个 -->
                    <!-- <TimeBasedTriggeringPolicy interval="1" modulate="true" /> -->
                    <SizeBasedTriggeringPolicy size="100KB" />
                </Policies>
            </RollingFile>
            <!--配置输出到控制台-->
            <Console name="Console" target="SYSTEM_OUT">
                <PatternLayout pattern="%d{yyyy-MM-dd HH:mm.ss} [%t] %-5level %logger{36} - %msg%n" />
            </Console>
        </Appenders>
        <Loggers>
            <Root level="trace">
                <AppenderRef ref="File" />
            </Root>
        </Loggers>
    </Configuration>

        这样,我们的log4j2配置文件就配置好了。由于上面指定了日志文件需要存放在logs目录下,因此我们需要在该项目中,在和src同级的位置,创建一个名为logs的文件夹,第一次日志运行后,会自动在该文件夹下创建一个名为log4j2.log的日志文件,我们的日志就在这个文件中记录。

      3) 在程序中运用日志

    package com.hizuche.testcase.log;
    import org.apache.logging.log4j.Logger;
    import org.apache.logging.log4j.LogManager;
    
    public class Log4jDemo {
        private static Logger logger = LogManager.getLogger(Login.class.getName());
        public static void main(String[] args) {
            logger.debug("第一次记录debug信息");
            logger.error("第一次记录error信息");
            logger.fatal("第一次记录fatal信息");
      }    
    }

        然后,我们在testng.xml文件中运行这个类,如果你用的是eclipse,那么此时已经生成了日志文件;如果是IntelliJ IDEA,会发现并没有生成对应的日志文件,因为IntelliJ IDEA默认是不输出日志的,需要在Run ---> Edit Configurations中对需要运行的类配置如下:

          

        然后到我们的logs目录下查看,发现日志已经跑起来了。

  • 相关阅读:
    WCF开发笔记 高版本.Net的坑
    Net Start可以加载驱动
    解决:Windows 2008远程黑屏问题
    Visual Studio 解决方案版本从v12-->v14
    Visual Studio 使用之禁用/启用模板警告
    Windows 10 常用的快捷键及常用指令
    git
    Socket通信原理 很好
    java集合
    JavaEE简介
  • 原文地址:https://www.cnblogs.com/May-study/p/9916532.html
Copyright © 2011-2022 走看看