章节十五、7- 配置文件-Console Logging
一、创建xml文件
1、创建xml文件
在项目中我们需要专门建一个文件夹来放xml文件或者是其它文件。
2、然后对文件夹进行命名
3、选择new 其它
4、选择XML File
5、给xml文件命名为log4j2.xml
6、创建成功
二、使用xml格式来定义配置文件
开始写标签
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<!-- appenders表示日志存放的位置 -->
<Appenders>
<!-- 表示在控制台上输出信息 -->
<Console name="Console">
<!-- 设置我们需要输出信息,输出的风格是怎么样的 -->
<PatternLayout
pattern="%d{HH:mm:ss.SSS} %-5level %c{1} -%msg%n%" />
</Console>
</Appenders>
<Loggers>
<!-- 定义级别 -->
<Root level="info">
<!-- 输出日志的目的地 -->
<AppenderRef ref="Console" />
</Root>
</Loggers>
</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、运行代码
package log4jtutorial; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; public class LoggingConsole{ // 首先需要定义一个log对象
// 定义成static final是因为只需要这一个实例,不能再有子类,多次调用的都是这一个实例,所以我们可以一直用这个对象来记录日志,不需要创建新的对象。
// .getLogger()方法返回的是一个Logger对象实例
// 括号里面的参数用来记现在所在的类(LoggingDemo.class.getName())
private static final Logger log = LogManager.getLogger(LoggingDemo.class.getName()); public static void main(String[] args) {
log.debug("Debug message logged");
log.error("Error message logged");
log.fatal("Fatal message logged"); }
}
d、运行代码(可以看出此次没有红色错误提示,证明配置日志文件成功)
注:
在代码中我们设置了打印“debug、error、fatal”,但控制台实际却只打印了“error、fatal”,这是因为我们在配置文件中设置了只打印info级别以上的日志,如果我们把“info”换成“trace”
就能够将3个级别的日志都打印出来。
更换级别后的打印结果:
如果有不明白的小伙伴可以加群“555191854”问我,群里都是软件行业的小伙伴相互一起学习。
内容具有连惯性,未标注的地方可以看前面的博客,这是一整套关于ava+selenium自动化的内容,从java基础开始。
欢迎关注,转载请注明来源。
章节十五、7- 配置文件-Console Logging的更多相关文章
- 章节十五、8-配置文件File Logging
一.如何将log输出到文件中? 1.配置xml文件 <?xml version="1.0" encoding="UTF-8"?> <Confi ...
- 章节十五、5-记录日志---Log4j
一.为什么要用Log4j记录日志? 日志记录对于任何应用程序都非常重要. 它可以帮助我们快速调试代码,通过收集代码执行的信息让代码容易维护. 二.Log4j 是什么? Apache为Java提供的日志 ...
- 章节十五、9-自定义Loggers
一.如何给不同的包设置不同的日志级别? 1.针对不同的包来记录不同级别的日志信息 2.在日志xml配置文件中加入配置信息(红色标注) <?xml version="1.0" ...
- 章节十五、6-log4 2-用默认的配置
一.实例演示 package log4jtutorial; import org.apache.logging.log4j.LogManager; import org.apache.logging. ...
- 章节十五、3-对象仓库、Page Factory实例应用
一.如何创建对象仓库 package pageclasses; import org.openqa.selenium.WebDriver; import org.openqa.selenium.Web ...
- 章节十五、2-PageObjectModel
一.在实现自动化过程中,会有很多重复的代码,我们在维护代码时会很困难,如果想解决这个问题,我们就需要使用PageObjectModel(页面对象模型)的方式来进行自动化代码的书写. 二.案例演示 以该 ...
- centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节课
centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节 ...
- Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G
code&monkey Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...
- thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)
原文:thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成(十五) 本章节:详细介绍thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成 一.URL ...
随机推荐
- c++ 队列的基本应用
c++ 队列的基本应用 题目描述 现在去营业厅办理业务,都要先取号,再等待叫号.叫号系统有两种模式: 1.取号,取号时要输入自己的11位电话号码,号码按取号的顺序存在系统中: 2.叫号,叫号时会显示当 ...
- 图解AQS原理之ReentrantLock详解-非公平锁
概述 并发编程中,ReentrantLock的使用是比较多的,包括之前讲的LinkedBlockingQueue和ArrayBlockQueue的内部都是使用的ReentrantLock,谈到它又不能 ...
- MYSQL5.7---ONLY_FULL_GROUP_BY 异常处理
异常介绍: ONLY_FULL_GROUP_BY 指的是你查询的语句使用到了group by 例如 select name,age from person group by sex; 此时你grou ...
- centos 5.2 php升级
# gedit /etc/yum.repos.d/utterramblings.repo [utterramblings] name=Jason's Utter Ramblings Repo base ...
- 不调用free会内存泄露吗?
内存泄露的概念大家可以自行百度下,本文不做阐述.本文要讲的是在程序中分配了内存,但是最后没有使用free()函数来释放这块内存,会导致内存泄露吗?比如有如下代码: #include <stdio ...
- ambari-cassandra-service
社区:https://github.com/Symantec/ambari-cassandra-service 在HDP集群上安装和管理Cassandra服务,Apache Cassandra是一个开 ...
- //Thread::Stop();
//Thread::Stop(); Thread::StopSoon();
- 网络IP的操作
10.10.10.10/8求解问题:子网掩码 10.255.255.255该IP地址所在网络的网络ID 10.0.0.0该IP地址所在网络的广播地址 10.255.255.255该IP地址所在网络的I ...
- Excel催化剂开源第23波-VSTO开发辅助录入功能关键技术
Excel催化剂开源第23波-VSTO开发辅助录入功能关键技术 Excel催化剂 2019.01.12 14:10* 字数 2948 阅读 41评论 0喜欢 0 编辑文章 在Excel催化剂的几大 ...
- Excel催化剂开源第7波-VSTO开发中Ribbon动态加载菜单
在VS开发环境中,特别是VSTO的开发,微软已经现成地给开发者准备了设计器模式的功能区开发,相对传统的VBA.ExcelDna和其他方式的COM加载项开发来说,不需要手写xml功能区,直接类似拖拉窗体 ...