文档章节

一个简单的 Log4J 2 示例程序

北风其凉
 北风其凉
发布于 2016/07/05 23:55
字数 547
阅读 396
收藏 6

今天研究了下 Log4J 2,并写了一个最简单的DEMO程序。我的操作系统版本是Win7旗舰版,JDK版本为1.8.0_25。

log4j 2 的官方网站: http://logging.apache.org/log4j/2.x/

log4j 2 的下载地址: http://logging.apache.org/log4j/2.x/download.html

在这里选择一个apache-log4j-2.6.1-bin.zip,点入后会进入一个镜像站,会有一个下载列表,从中下载一个zip文件即可,解压缩后里面有很多jar包。将log4j-api-2.6.1.jar和log4j-core-2.6.1.jar作为ExternalJars引入到工程中。

建立一个配置文件log4j2.config.xml,这是log4j的XML配置文件:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration status="OFF"> 
  <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="debug"> 
      <appender-ref ref="Console"/> 
    </root> 
  </loggers> 
</configuration>

这个配置文件的大意是将所有debug以上的日志输出到控制台。

现在工程中添加Java代码如下:

import java.io.FileInputStream;
import java.io.PrintWriter;
import java.io.StringWriter;

import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.config.ConfigurationSource;
import org.apache.logging.log4j.core.config.Configurator;

/**
 * Log4J DEMO Program
 * @author Tsybius2014
 * @date 2016年7月5日
 * @time 下午11:39:07
 * @remark
 */
public class Log4JTest {    
    public static void main(String[] args) {
        try {
            //读取配置文件
            ConfigurationSource source = new ConfigurationSource(
                new FileInputStream("C:\\Users\\Tsybius\\Desktop\\log4j2.config.xml"));
            Configurator.initialize(null, source);
            Logger logger = LogManager.getLogger(Log4JTest.class.getName());
            //打印日志1
            logger.debug("日志级别:DEBUG");
            logger.info("日志级别:INFO");
            logger.warn("日志级别:WARN");
            logger.error("日志级别:ERROR");
            logger.fatal("日志级别:FATAL");
            //打印日志2
            logger.log(Level.DEBUG, "日志级别:DEBUG");
            logger.log(Level.INFO, "日志级别:INFO");
            logger.log(Level.WARN, "日志级别:WARN");
            logger.log(Level.ERROR, "日志级别:ERROR");
            logger.log(Level.FATAL, "日志级别:FATAL");
        } catch (Exception ex) {
            //打印异常
            StringWriter stringWriter = new StringWriter();
            PrintWriter printWriter = new PrintWriter(stringWriter);
            ex.printStackTrace(printWriter);
            System.out.println(stringWriter.toString());
        }
    }
}

这段代码先读取了log4j2.config.xml,再打印log。

程序运行结果如下:

23:36:30.182 [main] DEBUG Log4JTest - 日志级别:DEBUG
23:36:30.185 [main] INFO  Log4JTest - 日志级别:INFO
23:36:30.185 [main] WARN  Log4JTest - 日志级别:WARN
23:36:30.185 [main] ERROR Log4JTest - 日志级别:ERROR
23:36:30.185 [main] FATAL Log4JTest - 日志级别:FATAL
23:36:30.185 [main] DEBUG Log4JTest - 日志级别:DEBUG
23:36:30.186 [main] INFO  Log4JTest - 日志级别:INFO
23:36:30.186 [main] WARN  Log4JTest - 日志级别:WARN
23:36:30.186 [main] ERROR Log4JTest - 日志级别:ERROR
23:36:30.186 [main] FATAL Log4JTest - 日志级别:FATAL

END

© 著作权归作者所有

北风其凉

北风其凉

粉丝 118
博文 498
码字总数 463468
作品 4
朝阳
程序员
私信 提问
《Apache Log4j 2 用户指南》简介

1.1 欢迎来到log4j 2! 1.1.1 简介 几乎每一个大型应用程序都包含自己的日志记录或跟踪API。根据这个规则,在1996年初,E.U. SEMPER项目决定编写自己的跟踪API。经过无数次的改进,多次转世和...

01/03
0
0
Java Log4J 使用教程(java日志)

简介 2. 安装 3. log4j基本概念 3.1. Logger 3.2. Appender 3.2.1. 使用ConsoleAppender 3.2.2. 使用FileAppender 3.2.3. 使用WriterAppender 3.3. Layout 3.4. 基本示例 3.4.1. SimpleLayou......

lgxheartlikesea
2014/02/13
0
0
Apache Log4j 2 用户指南

Apache Log4j 2是Log4j 1.x的升级版本,相比前任它有着显著的提升。它不仅具备Logback所包含的改进,同时还修复了Logback框架的固有bug。 不定期对 Apache Log4j 2 v.2.11.2 User’s Guide 进...

01/03
0
0
log4j 使用及配置分析记录

log4j是一个非常强大的log记录软件,下面我们就来看看在项目中如何使log4j。 ps:其配置文件有两种 log4j.properties 和log4j.xml 两种形式。xml更强大,功能更丰富 ,properties更简单易懂。...

北方攻城师
2015/04/12
0
0
Log4j 2.0 的新特性

不久之前,著名的日志框架log4j发布了一个新的主要版本。从第一个alpha版本诞生以来,log4j已经发布了4个版本。log4j 2较之前的log4j 1有了很大的改动。因此,虽然log4j 2s现在还很年轻,但它...

oschina
2012/12/07
20.7K
2

没有更多内容

加载失败,请刷新页面

加载更多

ngrok 外网映射工具

ngrok介绍 许多刚学java web的同学(包括我自己)肯定都非常好奇,如何在外网上访问自己做的项目,跟我们本地访问tomcat有什么区别? 今天就向大家介绍一个非常强大的外网映射工具:ngrok.ngrok可以...

edison_kwok
48分钟前
2
0
Spark Streaming的优化之路——从Receiver到Direct模式

          作者:个推数据研发工程师 学长 1 业务背景 随着大数据的快速发展,业务场景越来越复杂,离线式的批处理框架MapReduce已经不能满足业务,大量的场景需要实时的数据处理结果来...

个推
今天
4
0
壮丽70年·奋斗新时代|蒸妙集团熏蒸中会阴熏蒸的神奇好处

聚结相合之处为会。会阴居两阴间,为督、任、冲三脉的起点,三脉背出两阴之间,会聚阴部,因名会阴。会阴,经穴名。出《针灸甲乙经》。会阴别名屏翳、下极、金门。属任脉。在会阴部,男性当阴...

公益传承
今天
2
0
pentaho-kettle-8.2.0.0-R源码开发环境搭建

1.从Kettle官网下载源码,本文使用的是pentaho-kettle-8.2.0.0-R 下载地址:https://codeload.github.com/pentaho/pentaho-kettle/zip/8.2.0.0-R 2.打开eclipse,选择一个新的工作空间,然后设...

gq_2010
今天
1
0
lua web快速开发指南(7) - 高效的接口调用 - httpc库

httpc库基于cf框架都内部实现的socket编写的http client库. httpc库内置SSL支持, 在不使用代理的情况下就可以请求第三方接口. httpc支持header、args、body、timeout请求设置, 完美支持各种h...

水果糖的小铺子
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部