log4j日志级别

log4j 教程

有些话、适合烂在心里 提交于 2019-12-20 16:51:36
1. 下载jar包: http://logging.apache.org/log4j/1.2/download.html 结构如下: 2. 创建项目,记得导入包: 3.src同级创建并设置log4j.properties: properties部分组要考虑下面三个方面: Logger - 日志写出器,供程序员输出日志信息 Appender - 日志目的地,把格式化好的日志信息输出到指定的地方去 ConsoleAppender - 目的地为控制台的Appender FileAppender - 目的地为文件的Appender RollingFileAppender - 目的地为大小受限的文件的Appender Layout - 日志格式化器,用来把程序员的logging request格式化成字符串 PatternLayout - 用指定的pattern格式化logging request的Layout log4j.properties模板: 1 #配置根Logger 2 #定义总的级别和目的地,目的地是可以多个,级别是总的,当然也可以对每一个目的地进行单独设置输出级别。 3 log4j.rootLogger = [ level ] , appenderName1 , appenderName2 , … 4 5 #配置日志信息输出目的地Appender 6 log4j

(三)SpringBoot与日志

浪子不回头ぞ 提交于 2019-12-20 11:43:47
1.日志框架 市面上的日志框架: JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j... 日志门面(日志的抽象层) 日志实现 JCL(Jakarta Commons Logging) SLF4j(Simple Logging Facade for Java) jboss-logging Log4j JUL(java.util.logging) Log4j2 Logback 左边选一个门面(抽象层)、右边来选一个实现; 日志门面:SLF4j 日志实现:Logback SpringBoot:底层是Spring框架,Spring框架默认是用JCL;    SpringBoot选用SLF4j和logback 2.SLF4j使用 1.如何在系统中使用SLF4j 以后开发的时候,日志记录方法的调用,不用改来直接调用日志的实现类,而是调用日志抽象层里面的方法; 给系统里面导入slf4j的jar和logback的实现jar 1 import org.slf4j.Logger; 2 import org.slf4j.LoggerFactory; 3 4 public class HelloWorld { 5 public static void main(String[] args) { 6 Logger logger = LoggerFactory

日志级别

梦想与她 提交于 2019-12-20 11:41:52
日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。: 1.static Level DEBUG : DEBUG Level指出细粒度信息事件对调试应用程序是非常有帮助的。 2.static Level INFO INFO level表明 消息在粗粒度级别上突出强调应用程序的运行过程。 3.static Level WARN WARN level表明会出现潜在错误的情形。 4.static Level ERROR ERROR level指出虽然发生错误事件,但仍然不影响系统的继续运行。 5.static Level FATAL FATAL level指出每个严重的错误事件将会导致应用程序的退出。 另外,还有两个可用的特别的日志记录级别: 1.static Level ALL ALL Level是最低等级的,用于打开所有日志记录。 2.static Level OFF OFF Level是最高等级的,用于关闭所有日志记录。 日志记录器(Logger)的行为是分等级的: 分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。通过在这里定义的 级别,您可以控制到应用程序中相应级别的日志信息的开关

Log4j基本使用方法

戏子无情 提交于 2019-12-20 11:35:00
Log4j基本使用方法 作者:佚名 来自:未知   Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。    一、定义配置文件   其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面我们介绍使用Java特性文件做为配置文件的方法:   1.配置根Logger,其语法为:   log4j.rootLogger = [ level ] , appenderName, appenderName, …   其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。

Commons-logging + Log4j

∥☆過路亽.° 提交于 2019-12-19 23:36:00
一、Commons-logging能帮我们做什么? 1、提供一个统一的日志接口,简单了操作,同时避免项目与某个日志实现系统紧密耦合 2、自动选择适当的日志实现系统   a.classpath下查找commons-logging.properties   b.classpath下查找Log4j的包   c.使用JDK自身的日志实现类(注:JDK1.4以后才有日志实现类)   d.使用commons-logging自身日志实现类SimpleLog 3、它甚至不需要配置 Commons-logging 的Java类的代码: package com.nadim.framework.monitor; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class Run { private static final Log log = LogFactory.getLog(Run.class); public static void main(String[] args) { //输出4种不同级别的日志 log.debug("111"); log.info("222"); log.warn("333"); log.error("444"); } } jar包地址

关于java的日志框架

别来无恙 提交于 2019-12-19 04:55:33
   Log4j    Log4j是Apache的一个开放源代码项目,Spring Boot1.4以及之后的版本已经不支持log4j ,log4j也很久没有更新了,现在已经有很多其他的日志框架对Log4j进行了改良,比如说SLF4J、Logback等。 Log4j2   而且Log4j 2在各个方面都与Logback非常相似,那么为什么我们还需要Log4j 2呢 1. 插件式结构。Log4j 2支持插件式结构。我们可以根据自己的需要自行扩展Log4j 2. 我们可以实现自己的appender、logger、filter。   2. 配置文件优化。在配置文件中可以引用属性,还可以直接替代或传递到组件。而且支持json格式的配置文件。不像其他的日志框架,它在重新配置的时候不会丢失之前的日志文件。   3. Java 5的并发性。Log4j 2利用Java 5中的并发特性支持,尽可能地执行最低层次的加锁。解决了在log4j 1.x中存留的死锁的问题。   4. 异步logger。Log4j 2是基于LMAX Disruptor库的。在多线程的场景下,和已有的日志框架相比,异步的logger拥有10倍左右的效率提升。    官方建议一般程序员查看的日志改成异步方式,一些运营日志改成同步。日志异步输出的好处在于,使用单独的进程来执行日志打印的功能,可以提高日志执行效率

Log日志级别从高到低排序 ERROR、WARN、INFO、DEBUG

放肆的年华 提交于 2019-12-19 04:18:51
说明:我们项目中没有加载,log日志有四个,大家可以在log4j文件中进行配置。 日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。日志记录器(Logger)的可用级别Level (不包括自定义级别 Level), 以下内容就是摘自log4j API ( http://jakarta.apache.org/log4j/docs/api/index.html ): static Level WARN WARN level表明会出现潜在错误的情形。 static Level ERROR ERROR level指出虽然发生错误事件,但仍然不影响系统的继续运行。 static Level FATAL FATAL level指出每个严重的错误事件将会导致应用程序的退出。 另外,还有两个可用的特别的日志记录级别: (以下描述来自log4j API http://jakarta.apache.org/log4j/docs/api/index.html ): static Level ALL ALL Level是最低等级的,用于打开所有日志记录。 static Level OFF OFF Level是最高等级的,用于关闭所有日志记录。 日志记录器(Logger)的行为是分等级的。如下表所示: 分为OFF、FATAL、ERROR、WARN、INFO、DEBUG

logback的使用和logback.xml详解,在Spring项目中使用log打印日志

孤街醉人 提交于 2019-12-19 03:21:33
logback的使用和logback.xml详解 一、logback的介绍   Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块:   logback-core:其它两个模块的基础模块   logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging   logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能 二、logback取代log4j的理由   1、更快的实现:Logback的内核重写了,在一些关键执行路径上性能提升10倍以上。而且logback不仅性能提升了,初始化内存加载也更小了。   2、非常充分的测试:Logback经过了几年,数不清小时的测试。Logback的测试完全不同级别的。   3、Logback-classic非常自然实现了SLF4j:Logback-classic实现了SLF4j。在使用SLF4j中,你都感觉不到logback-classic。而且因为logback-classic非常自然地实现了slf4j , 所 以切换到log4j或者其他,非常容易,只需要提供成另一个jar包就OK

日志系统

别来无恙 提交于 2019-12-18 16:46:38
上一篇说了一下《 解决问题的一般套路 》,里面讲到了日志系统的重要性,日志重要吗?监控重要吗?of course!日志就是要能找到用户做了什么请求那个机器。 上下游接口请求,请求参数和入参是否正确,我们可以统一写一个面向切面方法去打印日志,不用每一处去写,切入点大家自己按照规则定义,AOP是Spring提供的关键特性之一。AOP即面向切面编程,是OOP编程的有效补充。使用AOP技术,可以将一些系统性相关的编程工作,独立提取出来,独立实现,然后通过切面切入进系统。从而避免了在业务逻辑的代码中混入很多的系统相关的逻辑——比如权限管理,事物管理,日志记录等等。这些系统性的编程工作都可以独立编码实现,然后通过AOP技术切入进系统即可。从而达到了 将不同的关注点分离出来的效果。 @Aspect @Component public class ControllerLogAspect { private Logger logger = LoggerFactory.getLogger(getClass()); ThreadLocal<Long> startTime = new ThreadLocal<>(); @Pointcut("execution(* com.xxx.mobile.web.controller..*.*(..))") public void controllerLog() {

Spring boot中使用log4j

杀马特。学长 韩版系。学妹 提交于 2019-12-16 15:06:20
  我们知道,Spring Boot中默认日志工具为logback,但是对于习惯了log4j的开发者,Spring Boot依然可以很好的支持,只是需要做一些小小的配置功能。Spring Boot使用log4j只需要一下几步 引入log4j依赖   在创建Spring Boot工程时,我们引入了 spring-boot-starter ,其中包含了 spring-boot-starter-logging ,该依赖内容就是Spring Boot默认的日志框架Logback,所以我们在引入log4j之前,需要先排除该包的依赖,再引入log4j的依赖,就像下面这样 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot<