Log4j的快速入门
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的快速入门相关推荐
- Java基础学习总结(42)——Log4j 2快速入门及Log4j 2 + Slf4j 的配置和使用
1. 去官方下载log4j 2,导入jar包,基本上你只需要导入下面两个jar包就可以了(xx是乱七八糟的版本号): log4j-core-xx.jar log4j-api-xx.jar 2. 导入到 ...
- Shiro第一个程序:官方快速入门程序Qucickstart详解教程
目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...
- Quartz快速入门
Quartz快速入门 1.下载地址http://www.quartz-scheduler.org/downloads/ 写此文章时的最新版是2.2.1. 2.解压缩将基本包quartz-2.2.1.j ...
- SpringBoot约定大于配置的特性解读 SpringBoot快速入门
SpringBoot约定大于配置 Spring官方网站本身使用Spring框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系.随着Spring 3.0的 ...
- ELK系列(1) - Elasticsearch + Logstash + Kibana + Log4j2快速入门与搭建用例
前言 最近公司分了个ELK相关的任务给我,在一边学习一边工作之余,总结下这些天来的学习历程和踩坑记录. 首先介绍下使用ELK的项目背景:在项目的数据库里有个表用来存储消息队列的消费日志,这些日志用于开 ...
- (转)Hibernate快速入门
http://blog.csdn.net/yerenyuan_pku/article/details/64209343 Hibernate框架介绍 什么是Hibernate 我们可以从度娘上摘抄这样有 ...
- 架构设计:系统间通信(36)——Apache Camel快速入门(上)
1.本专题主旨 1-1.关于技术组件 在这个专题中,我们介绍了相当数量技术组件:Flume.Kafka.ActiveMQ.Rabbitmq.Zookeeper.Thrift .Netty.DUBBO等 ...
- MyBatis从入门到精通(一)—MyBatis基础知识和快速入门
Mybatis简介 原始jdbc操作(查询数据) Connection connection = null;PreparedStatement preparedStatement = null;Res ...
- Spring框架快速入门
目录 什么是Spring? 为什么学习Spring? Spring的快速入门 Spring的版本 IOC概述 什么是IOC? Spring的IoC入门 下载Spring的开发包 创建web项目,引入S ...
最新文章
- 网页编辑html中怎么写搜索代码,如何在html页面中实现查找功能
- 初学者python用什么开发软件-对于自学python的初学者来说,应该使用什么编辑工具?...
- PlayFramework入门教程
- java替换html中的样式
- 前端开发学习笔记(一)深入浅出Javascript
- linux100day(day4)--文本处理三剑客
- Inception-v4,Inception-ResNet论文笔记
- air中wav转mp3
- mysql与oracle语法对比(实用)
- linux 代码行数统计利器 ——cloc
- Python学习之面向对象(一)
- R语言周氏检验(Chow test) 检验回归中结构不稳定性的虚拟变量的替代方案
- 「每天一道面试题」AQS是什么?了解其内部同步队列实现结构吗?
- 机器学习评价指标 ROC与AUC 的理解和python实现
- 颜色基础知识——CIE 1931色度坐标
- 自己用java写一个http和https代理服务器
- Qt 中文和英文分别使用不同的字体
- 方程组在原点附近解matlab,前置血管常发生于A.副胎盘B.胎盘血管瘤C.双叶胎盘D.帆状胎盘...
- yaml文件 *.yml 写法简介
- vuepress引入外部组件后build报错window is not defined