一个简单的 Log4J 2 示例程序

今天研究了下 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

转载于:https://my.oschina.net/Tsybius2014/blog/706696

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值