LOG4J 学习

Log4j是Apache下的一款开源的日志框架,通过在项目中使用 Log4J,我们可以控制日志信息输出到控制台、文件、甚至是数据库中。我们可以控制每一条日志的输出格式,通过定义日志的输出级别,可以更灵活的控制日志的输出过程。方便项目的调试。

官方网站: http://logging.apache.org/log4j/1.2/

Log4j入门

1. 建立maven工程

2. 添加依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.itheima</groupId><artifactId>log4j_demo</artifactId><version>1.0-SNAPSHOT</version><dependencies><!--log4j--><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency></dependencies><build><plugins><!-- 设置编译版本为1.8 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin></plugins></build>
</project>

java代码

package com.leon;import org.apache.log4j.Logger;
import org.apache.log4j.helpers.LogLog;
import org.junit.Test;public class Log4jTest {// 快速入门@Testpublic void testQuick()throws Exception{// 开启 log4j 内置日志记录LogLog.setInternalDebugging(true);// 初始化配置信息,在入门案例中暂不使用配置文件// BasicConfigurator.configure();// 获取日志记录器对象Logger logger = Logger.getLogger(Log4jTest.class);// 日志记录输出logger.info("hello log4j");//for (int i = 0; i < 10000; i++) {// 日志级别logger.fatal("fatal"); // 严重错误,一般会造成系统崩溃并终止运行logger.error("error"); // 错误信息,不会影响系统运行logger.warn("warn");   // 警告信息,可能会发生问题logger.info("info");   // 运行信息,数据连接、网络连接、IO 操作等等logger.debug("debug"); // 调试信息,一般在开发中使用,记录程序变量参数传递信息等等logger.trace("trace"); // 追踪信息,记录程序所有的流程信息//}// 再创建一个日志记录器对象Logger logger1 = Logger.getLogger(Logger.class);logger1.fatal("fatal logger1"); // 严重错误,一般会造成系统崩溃并终止运行logger1.error("error logger1"); // 错误信息,不会影响系统运行logger1.warn("warn logger1");   // 警告信息,可能会发生问题logger1.info("info logger1");   // 运行信息,数据连接、网络连接、IO 操作等等logger1.debug("debug logger1"); // 调试信息,一般在开发中使用,记录程序变量参数传递信息等等logger1.trace("trace logger1"); // 追踪信息,记录程序所有的流程信息}
}

日志的级别

每个Logger都被了一个日志级别(log level),用来控制日志信息的输出。日志级别从高到低分为:

fatal 指出每个严重的错误事件将会导致应用程序的退出。

error 指出虽然发生错误事件,但仍然不影响系统的继续运行。

warn 表明会出现潜在的错误情形。

info 一般和在粗粒度级别上,强调应用程序的运行全程。

debug 一般用于细粒度级别上,对调试应用程序非常有帮助。

trace 是程序追踪,可以用于输出程序运行中的变量,显示执行的流程。

还有两个特殊的级别:

OFF,可用来关闭日志记录。

ALL,启用所有消息的日志记录。

注:一般只使用4个级别,优先级从高到低为 ERROR > WARN > INFO > DEBUG

Log4j的快速入门相关推荐

  1. Java基础学习总结(42)——Log4j 2快速入门及Log4j 2 + Slf4j 的配置和使用

    1. 去官方下载log4j 2,导入jar包,基本上你只需要导入下面两个jar包就可以了(xx是乱七八糟的版本号): log4j-core-xx.jar log4j-api-xx.jar 2. 导入到 ...

  2. Shiro第一个程序:官方快速入门程序Qucickstart详解教程

    目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...

  3. Quartz快速入门

    Quartz快速入门 1.下载地址http://www.quartz-scheduler.org/downloads/ 写此文章时的最新版是2.2.1. 2.解压缩将基本包quartz-2.2.1.j ...

  4. SpringBoot约定大于配置的特性解读 SpringBoot快速入门

    SpringBoot约定大于配置 Spring官方网站本身使用Spring框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系.随着Spring 3.0的 ...

  5. ELK系列(1) - Elasticsearch + Logstash + Kibana + Log4j2快速入门与搭建用例

    前言 最近公司分了个ELK相关的任务给我,在一边学习一边工作之余,总结下这些天来的学习历程和踩坑记录. 首先介绍下使用ELK的项目背景:在项目的数据库里有个表用来存储消息队列的消费日志,这些日志用于开 ...

  6. (转)Hibernate快速入门

    http://blog.csdn.net/yerenyuan_pku/article/details/64209343 Hibernate框架介绍 什么是Hibernate 我们可以从度娘上摘抄这样有 ...

  7. 架构设计:系统间通信(36)——Apache Camel快速入门(上)

    1.本专题主旨 1-1.关于技术组件 在这个专题中,我们介绍了相当数量技术组件:Flume.Kafka.ActiveMQ.Rabbitmq.Zookeeper.Thrift .Netty.DUBBO等 ...

  8. MyBatis从入门到精通(一)—MyBatis基础知识和快速入门

    Mybatis简介 原始jdbc操作(查询数据) Connection connection = null;PreparedStatement preparedStatement = null;Res ...

  9. Spring框架快速入门

    目录 什么是Spring? 为什么学习Spring? Spring的快速入门 Spring的版本 IOC概述 什么是IOC? Spring的IoC入门 下载Spring的开发包 创建web项目,引入S ...

最新文章

  1. 网页编辑html中怎么写搜索代码,如何在html页面中实现查找功能
  2. 初学者python用什么开发软件-对于自学python的初学者来说,应该使用什么编辑工具?...
  3. PlayFramework入门教程
  4. java替换html中的样式
  5. 前端开发学习笔记(一)深入浅出Javascript
  6. linux100day(day4)--文本处理三剑客
  7. Inception-v4,Inception-ResNet论文笔记
  8. air中wav转mp3
  9. mysql与oracle语法对比(实用)
  10. linux 代码行数统计利器 ——cloc
  11. Python学习之面向对象(一)
  12. R语言周氏检验(Chow test) 检验回归中结构不稳定性的虚拟变量的替代方案
  13. 「每天一道面试题」AQS是什么?了解其内部同步队列实现结构吗?
  14. 机器学习评价指标 ROC与AUC 的理解和python实现
  15. 颜色基础知识——CIE 1931色度坐标
  16. 自己用java写一个http和https代理服务器
  17. Qt 中文和英文分别使用不同的字体
  18. 方程组在原点附近解matlab,前置血管常发生于A.副胎盘B.胎盘血管瘤C.双叶胎盘D.帆状胎盘...
  19. yaml文件 *.yml 写法简介
  20. vuepress引入外部组件后build报错window is not defined

热门文章

  1. tcp ip协议笔记(1)——简单介绍
  2. winrm service
  3. CentOS 7安装zabbix-2.4.8监控
  4. 考研编程练习----快速排序
  5. [资料]PHP中的__call使用
  6. 记账本开发进程第四天
  7. JVM学习04:类的文件结构
  8. 逻辑备库的Swichover和Failover
  9. 如何判断Customer和Administor
  10. 【遇到问题】ORA-27102 ORA-01034