Log4j 2使用教程一【入门】
环境
操作系统:win10
log4j2版本: 2.11.0
准备
下载jar包
官网:https://logging.apache.org/log4j/2.x/download.html
把jar包放入到项目中去
开始使用
假设我们要使用log4j2,我们一般是先声明成一个静态成员变量:
private static final Logger logger = LogManager.getLogger(MyApp.class);
// 或者
private static final Logger logger = LogManager.getLogger(MyApp.class.getName());
声明好logger后,我们就可以开始使用它了。
假设我们有这么一个程序:
package test;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Hello {
private static Logger logger = LogManager.getLogger(Hello.class.getName());
public void getHello() {
logger.entry();
logger.trace("我是trace");
logger.info("我是info信息");
logger.error("我是error");
logger.fatal("我是fatal");
logger.trace("退出程序.");
logger.exit();
}
public static void main(String[] args) {
new Hello().getHello();
}
}
如果没有自定义配置文件,执行上面的方法后,在控制台显示如下:
10:45:05.641 [main] ERROR test.Hello - 我是error
10:45:05.644 [main] FATAL test.Hello - 我是fatal
从结果上看出,只有>=error级别的日志打印出来了。
这是因为Log4j有一个默认的配置,它的日志级别是ERROR,输出只有控制台。
如果我已经定义好了日志,我把日志级别改成了TRACE,输出会变成下面这样:
10:48:21.326 [main] TRACE test.Hello - Enter
10:48:21.330 [main] TRACE test.Hello - 我是trace
10:48:21.331 [main] INFO test.Hello - 我是info信息
10:48:21.331 [main] ERROR test.Hello - 我是error
10:48:21.331 [main] FATAL test.Hello - 我是fatal
10:48:21.331 [main] TRACE test.Hello - 退出程序.
10:48:21.331 [main] TRACE test.Hello - Exit
配置文件
log4j2默认下载包里是没有配置文件的。下面这个配置文件等于缺省配置:
https://logging.apache.org/log4j/2.x/manual/configuration.html
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
只需要把上面level="error"改为level="trace"就可以,看到刚才的效果!
由于这篇是简单使用,就讲这些,下篇接着讲。
Log4j 2使用教程一【入门】的更多相关文章
- Spring MVC 教程,快速入门,深入分析
http://elf8848.iteye.com/blog/875830/ Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门 资源下载: ...
- Android Studio教程从入门到精通
最新2.0系列文章参考: Android Studio2.0 教程从入门到精通Windows版 - 安装篇Android Studio2.0 教程从入门到精通Windows版 - 入门篇Android ...
- js-json教程从入门到使用
json教程从入门到使用 2.json例子: var today_data={"city":"上海","area":"6400&q ...
- SQLAlchemy 教程 —— 基础入门篇
SQLAlchemy 教程 -- 基础入门篇 一.课程简介 1.1 实验内容 本课程带领大家使用 SQLAlchemy 连接 MySQL 数据库,创建一个博客应用所需要的数据表,并介绍了使用 SQLA ...
- TensorFlow 中文资源全集,官方网站,安装教程,入门教程,实战项目,学习路径。
Awesome-TensorFlow-Chinese TensorFlow 中文资源全集,学习路径推荐: 官方网站,初步了解. 安装教程,安装之后跑起来. 入门教程,简单的模型学习和运行. 实战项目, ...
- mxGraph进阶(一)mxGraph教程-开发入门指南
mxGraph教程-开发入门指南 概述 mxGraph是一个JS绘图组件适用于需要在网页中设计/编辑Workflow/BPM流程图.图表.网络图和普通图形的Web应用程序.mxgraph下载包中包括用 ...
- Kivy 中文教程 实例入门 简易画板 (Simple Paint App):1. 自定义窗口部件 (widget)
1. 框架代码 用 PyCharm 新建一个名为 SimplePaintApp 的项目,然后新建一个名为 simple_paint_app.py 的 Python 源文件, 在代码编辑器中,输入以下框 ...
- Android Studio2.0 教程从入门到精通Windows版
系列教程 Android Studio2.0 教程从入门到精通Windows版 - 安装篇Android Studio2.0 教程从入门到精通Windows版 - 入门篇Android Studio2 ...
- Android Studio2.0 教程从入门到精通Windows版 - 入门篇
http://www.open-open.com/lib/view/open1468121363300.html 本文转自:深度开源(open-open.com)原文标题:Android Studio ...
- Kivy crash 中文教程 实例入门 1. 第1个应用 Kivy App (Making a simple App)
1. 空白窗口 在 PyCharm 中创建一个名为 TutorialApp 的项目,然后在该项目中新建了个名为 tutorial_app.py 的 Python 源文件,在 PyCharm 的代码编 ...
随机推荐
- js 对时间进行判断 现在的时间是否在后台给的开始时间 和 结束时间 内 (时间格式为:2018-09-03 09:20:30)
function status(item){ let now = Date.parse(new Date()); let startString = Date.parse(new Date(Date. ...
- Java_比较两个图片的相似度
说明:目前使用像素偏移量为5,可根据实际情况相应修改 package com.creditease.fetch.credit.util.similarity; import com.crediteas ...
- [LeetCode] Similar RGB Color 相似的红绿蓝颜色
In the following, every capital letter represents some hexadecimal digit from 0 to f. The red-green- ...
- [LeetCode] Rotate String 旋转字符串
We are given two strings, A and B. A shift on A consists of taking string A and moving the leftmost ...
- laravel之模型操作
首先在App下创建模型,一个模型对应着一个表: 2.创建好模型之后,使用控制器来操作模型 先使用模型 创建方法来使用模型(记得要添加路由)
- Hadoop-2.9.2单机版安装(伪分布式模式)(一)
一.环境 硬件:虚拟机VMware.win7 操作系统:Centos-7 64位 主机名: hadoopServerOne 安装用户:root软件:jdk1.8.0_181.Hadoop-2.9.2 ...
- JavaScript基础知识(Date 的方法)
Date 的方法 console.log(typeof Date);// "function" Date的实例 console.log(typeof new Date()); // ...
- FTP服务器匿名登录
ftp需要开通对匿名用户.本地用户.及虚拟用户的支持.并且特别对虚拟用户中的(stu.teacher.admin)分别授予不同的权限. 1.创建多层目录,然后挂载 2.配置yum源文件 3.安 ...
- Dynamics 365 解决方案导出报错
之前导出解决方案异常,按照CRM社区的方法解决成功,但是没有了解原因,今天看到有朋友解答了原因,也分享给大家 先来看看异常 我那时导出的是default解决方案,这是模拟 导出异常 “业务流程错误”- ...
- v-for同时循环一个对象和数组
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...