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 的代码编 ...
随机推荐
- JavaScript(三)
函数 函数就是重复执行的代码片. 函数定义与执行 <script type="text/javascript"> // 函数定义 function aa(){ aler ...
- vue中,对象数组多层嵌套时,更新数据更新页面
vue中的对象和数组的元素直接赋值修改时,是不能响应到view中去的 1.对象更新 this.a={title:'列表1’}; this.a.title='列表2’; <h1>{{a.ti ...
- Vue使用中常见问题
1.安装sass时报未找到 1.原因应该同时安装:1.npm install --save-dev sass-loader 2.npm install --save-dev node-sass ...
- 查找已连接过的wifi密码
无意之间看到能破解已连接过的wifi密码的诀窍,赶紧存储下来. 1. 首先打开终端 2. 在没有网路的情况下输入: netsh wlan show profiles 结果如下(自己的): 这些‘用户配 ...
- vue-cli 脚手架 Command Line Interface
mac sudo npm install -g nrm sudo npm config -g set unsafe-perm sudo npm install webpack@3.0.0 -g sud ...
- centos中安装配置nginx完成之后主机无法访问
原因 VMware中安装centos7,安装配置完成nginx后,主机无法访问.虚拟机没有放行Nginx默认端口80. 解决办法 首先:开启 web 端口 firewall-cmd --permane ...
- 微信小程序 fixed 解决 textarea 的 placeholder 不固定问题
当我们把 textarea 放到一个 position:fixed; 中的元素中时. 会发现这个 textarea 也会跟着固定位置,但是 textarea 的 placeholder 内容不会固定, ...
- Android 进程间的通信
localsocket: https://blog.csdn.net/azhengye/article/details/73863404 https://www.cnblogs.com/basta ...
- CSS预编译语言-LESS
LESS的作用 CSS层叠样式表,它是标记语言,不是编程语言:所有的预编译CSS语言(less/sass…)都是赋予了CSS的面向对象思想 LESS的编译 LESS叫做预编译CSS:写好的LESS代码 ...
- oracle 表 库实例 空间
地址 http://blog.csdn.net/g15738290530/article/details/51859048 1:个人理解 数据库可以有多个实例,其中 orcl 为默认 一般情况下,一个 ...