zoukankan      html  css  js  c++  java
  • 章节十五、7- 配置文件-Console Logging

    一、创建xml文件

    1、创建xml文件

    在项目中我们需要专门建一个文件夹来放xml文件或者是其它文件。

    2、然后对文件夹进行命名

    3、选择new  其它

    4、选择XML File

    5、给xml文件命名为log4j2.xml

    6、创建成功

    二、使用xml格式来定义配置文件

    开始写标签

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <Configuration>
     3     <!-- appenders表示日志存放的位置 -->
     4     <Appenders>
     5         <!-- 表示在控制台上输出信息 -->
     6         <Console name="Console">
     7             <!-- 设置我们需要输出信息,输出的风格是怎么样的 -->
     8             <PatternLayout
     9                 pattern="%d{HH:mm:ss.SSS} %-5level %c{1} -%msg%n%" />
    10         </Console>
    11     </Appenders>
    12     <Loggers>
    13         <!-- 定义级别 -->
    14         <Root level="info">
    15             <!-- 输出日志的目的地 -->
    16             <AppenderRef ref="Console" />
    17         </Root>
    18     </Loggers>
    19 </Configuration>

     注:

    1、<Console name="Console">:name="Console"表示给“Console”取名字。

    2、<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %c{1} -%msg%n%" />:

    %d{HH:mm:ss.SSS} 表示输出到毫秒的时间

    %-5level 输出日志级别,-5表示左对齐并且固定输出5个字符,如果不足在右边补0

    %c{1}表示输出当前类名(填写“2”,表示输出该类的类名和所在包名。“3”表示输出所在的包和所在包的上级包名)

    %msg 日志文本

    %n 换行

    其他常用的占位符有:

    %F 输出所在的类文件名,如Client.java

    %L 输出行号

    %M 输出所在方法名

    %l  输出语句所在的行数, 包括类名、方法名、文件名、行数

    3、<AppenderRef ref="Console" />:Console是<Appenders>的名字,表示输出的目的地,这样rootlog就会使用配置的<Appenders>来记录log信息。

    三、日志输出

    1、无配置文件时控制台的报错信息展示(红色字体报错提示找不到配置文件):

    2、有配置文件输出时信息展示:

    a、首先我们需要将配置文件build一下

    b、然后clean一下

    c、运行代码

     1 package log4jtutorial;
     2 
     3 import org.apache.logging.log4j.LogManager;
     4 import org.apache.logging.log4j.Logger;
     5 
     6 public class LoggingConsole{
     7     
     8 //    首先需要定义一个log对象
     9 //    定义成static final是因为只需要这一个实例,不能再有子类,多次调用的都是这一个实例,所以我们可以一直用这个对象来记录日志,不需要创建新的对象。
    10 //    .getLogger()方法返回的是一个Logger对象实例
    11 //    括号里面的参数用来记现在所在的类(LoggingDemo.class.getName())
    12     private static final Logger log = LogManager.getLogger(LoggingDemo.class.getName());
    13     
    14     public static void main(String[] args) {
    15         log.debug("Debug message logged");
    16         log.error("Error message logged");
    17         log.fatal("Fatal message logged");
    18 
    19     }
    20 }

    d、运行代码(可以看出此次没有红色错误提示,证明配置日志文件成功)

    注:

    在代码中我们设置了打印“debug、error、fatal”,但控制台实际却只打印了“error、fatal”,这是因为我们在配置文件中设置了只打印info级别以上的日志,如果我们把“info”换成“trace”

    就能够将3个级别的日志都打印出来。

    更换级别后的打印结果:

    如果有不明白的小伙伴可以加群“555191854”问我,群里都是软件行业的小伙伴相互一起学习。

    内容具有连惯性,未标注的地方可以看前面的博客,这是一整套关于ava+selenium自动化的内容,从java基础开始。

    欢迎关注,转载请注明来源。

  • 相关阅读:
    关于这个 blog
    P6499 [COCI2016-2017#2] Burza 题解
    CF1172F Nauuo and Bug 题解
    CF1479D Odd Mineral Resource 题解
    CF1442E Black, White and Grey Tree 题解
    CF1442D Sum 题解
    CF1025D Recovering BST 题解
    CF1056E Check Transcription 题解
    CF1025F Disjoint Triangles 题解
    红包算法的PHP实现
  • 原文地址:https://www.cnblogs.com/luohuasheng/p/11307478.html
Copyright © 2011-2022 走看看