一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述

二:老规矩,先来个栗子,然后再聊聊感受

import org.apache.log4j.*;
//by godtrue
public class UseLog4j {
//日志记录器
private static Logger LOGGER = LogManager.getLogger(UseLog4j.class);
//程序入口——主函数
public static void main(String[]args){
//设置日志信息的格式化方式
String pattern = "%l - %p - %m%n";
//设置日志信息输出的风格样式
Layout layout = new PatternLayout(pattern);
//设置日志信息的输出目的地
Appender appender= new ConsoleAppender(layout);
//设置日志信息的输出配置
BasicConfigurator.configure(appender);
/**
* 日志输出的级别,主要有以下几种:
* 1)ALL 打印各级日志信息包括自定义级别。
* 2)TRACE 最详细的信息。一般这些信息只记录到日志文件中。自版本1.2.12[3]。
* 3)DEBUG 流经系统的详细信息。一般这些信息只记录到日志文件中。
* 4)INFO 令人感兴趣的运行时事件(启动/关闭)。一般这些信息将立即呈现在状态控制台上,因而要保守使用,并保持到最低限度。
* 5)WARN 使用已过时的API,API的滥用,潜在错误,其他不良的或意外的运行时的状况(但不一定是错误的)。一般这些信息将立即呈现在状态控制台上。
* 6)ERROR 其他运行时错误或意外情况。一般这些信息将立即呈现在状态控制台上。
* 7)FATAL 导致应用程序提前终止的严重错误。一般这些信息将立即呈现在状态控制台上。
* 8)OFF 最高级别,用于关闭日志记录。
*
* 日志的级别之间的大小关系如右所示:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
*
* Log4j建议只使用四个级别,优先级从高到低分别是 ERROR > WARN > INFO > DEBUG。
* 通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。
* 比如:在这里如果定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来,但是 ERROR > WARN > INFO 这三者的日志信息能够正常打印
*/ /**
* 设置日志的级别,为了加深日志级别的作用的印象,你可以试试设置一下各个级别,看看对日志信息输出的控制:
* public static final Level OFF = new Level(2147483647, "OFF", 0);
* public static final Level FATAL = new Level('썐', "FATAL", 0);
* public static final Level ERROR = new Level('鱀', "ERROR", 3);
* public static final Level WARN = new Level(30000, "WARN", 4);
* public static final Level INFO = new Level(20000, "INFO", 6);
* public static final Level DEBUG = new Level(10000, "DEBUG", 7);
* public static final Level TRACE = new Level(5000, "TRACE", 7);
* public static final Level ALL = new Level(-2147483648, "ALL", 7);
*/
LOGGER.setLevel(Level.INFO);
//打印当前的日志信息有效级别
LOGGER.fatal("the effective level is : "+LOGGER.getEffectiveLevel());
//测试日志级别的作用,仅仅输出大于等于目前有效级别的日志信息
LOGGER.trace("my level is TRACE");
LOGGER.debug("my level is DEBUG");
LOGGER.info(" my level is INFO");
LOGGER.warn(" my level is WARN");
LOGGER.error("my level is ERROR");
LOGGER.fatal("my level is FATAL");
}
}

三:感受

      1)原本以为就四种级别的,没想到有八种,知识不系统的学习,可能会错过好多

2)级别这个知识点相对来说是最简单,他们就像开关一样,来决定哪些日志方法被调用,哪些不被调用

3)他们的大小关系是这样的——ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF

4)设置了对应的级别之后,日志框架就只调用大于等于这个级别的方法

5)Log4j建议只使用如右四个级别——DEBUG < INFO < WARN < ERROR

log4j(三)——如何控制不同级别的日志信息的输出?的更多相关文章

  1. (转)log4j(三)——如何控制不同级别的日志信息的输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 package test.log4j.test3; import org.apac ...

  2. log4j(四)——如何控制不同风格的日志信息的输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 import org.apache.log4j.*; //by godtrue p ...

  3. (转)log4j(四)——如何控制不同风格的日志信息的输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 import org.apache.log4j.*; //by godtrue p ...

  4. (转)log4j(二)——如何控制日志信息的输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 先看栗子再来下结论 import org.apache.log4j.*; import test.log4j.bean ...

  5. log4j(二)——如何控制日志信息的输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:先看栗子再来下结论 import org.apache.log4j.*; import test.log4j.bean ...

  6. mybatis 配置的log4j文件无效,不能正常显示日志信息

    正在学习mybatis,配置好后log4j.properties文件后,日志信息不能正常显示,没有效果. 查看了一下mybatis的相关文档,在日志一栏找到问题愿意 原因是我们的mybatis选了其他 ...

  7. 使用log4j将不同级别的日志信息输出到不同的文件中

    使用log4j.xml xml格式的配置文件可以使用filter. 例如想只把log4j的debug信息输出到debug.log.error信息输出到error.log,info信息输出到info.l ...

  8. eclipse 远程链接访问hadoop 集群日志信息没有输出的问题l

    Eclipse插件Run on Hadoop没有用到hadoop集群节点的问题参考来源 http://f.dataguru.cn/thread-250980-1-1.html http://f.dat ...

  9. (转)log4j(五)——如何控制不同目的地的日志输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 package test.log4j.test5; /** * @author l ...

随机推荐

  1. 使用jstl报错:According to TLD or attribute directive in tag file, attribute value does not accept any expressions

    使用jstl报错:According to TLD or attribute directive in tag file, attribute value does not accept any ex ...

  2. ZH奶酪:哈工大LTP云平台标记含义及性能

    从官网搬过来的 囧rz 哈工大讯飞语言云 由哈工大 和科大讯飞 联合研发的中文自然语言处理云服务平台.结合了哈工大“语言技术平台——LTP” 高效.精准的自然语言处理核心技术和讯飞公司在全国性大规模云 ...

  3. MVC 之 解决MVC中使用BundleConfig.RegisterBundles引用Css及js文件发布后的丢失

    在MVC3中我们这样引用资源文件: <link href="@Url.Content("~/Content/Site.css")" rel="s ...

  4. 【树莓派】【网摘】树莓派与XBMC及Kodi、LibreELEC插件(三)

    之前的相关文章参考: [树莓派]树莓派与XBMC及Kodi.LibreELEC插件(一) [树莓派]树莓派与XBMC及Kodi.LibreELEC插件(二) [树莓派]树莓派与XBMC及Kodi.Li ...

  5. Hotmail Smtp邮箱发送的端口

    1.最近有项目需求做监控报警. 2.使用Smtp发邮件时,网上找了一大堆,Smtp服务是:smtp.live.com   端口是:25或587,试了好多次都不行.原来端口是465. 3.发送时,我启用 ...

  6. OpenGL 核心技术之立方体贴图

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家.特邀编辑,畅销书作者,国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...

  7. Python学习笔记三:模块

    一:模块 一个模块就是一个py文件,里面定义了一些业务函数.引用模块,可以用import语句导入.导入模块后,通过 模块.函数名(参数)  来使用模块中的函数.如果存在多个同名模块,则前面模块名需要加 ...

  8. “Info.plist” couldn’t be removed

    Showing All Messages error: failed to remove /Users/Rubert/Library/Developer/Xcode/DerivedData/Proje ...

  9. WCF 客户端 BasicHttpBinding 兼容 HTTPS 和 HTTP

    背景:全站HTTPS的时代来了 全站HTTPS,请参考:http://www.cnblogs.com/bugly/p/5075909.html 1. 设置BasicHttpBinding的BasicH ...

  10. java byte数组与16进制间的相互转换

      java byte数组与16进制间的相互转换 CreationTime--2018年6月11日15点34分 Author:Marydon 1.准备工作 import java.util.Array ...