精华内容
下载资源
问答
  • 1. java.util.loggingJDK自带日志组件,使用方式简单,不需要依赖第三方日志组件。支持将日志打印到控制台,文件,甚至可以将日志通过网络打印到指定主机。相对于第三方独立日志框架来说,支持的日志级别比较少,...

    1. java.util.logging

    00349d35ccd0a1b7c6b1f301558314ae.png

    JDK自带日志组件,使用方式简单,不需要依赖第三方日志组件。

    支持将日志打印到控制台,文件,甚至可以将日志通过网络打印到指定主机。

    相对于第三方独立日志框架来说,支持的日志级别比较少,功能也比较单一。

    2. apache commons logging

    9c29d9c101670c5cc7f73a8d17236bfd.png

    https://commons.apache.org/proper/commons-logging/index.html

    Apache Commons Logging简称JCL。

    JCL提供了一个轻量级的日志抽象,为应用程序提供统一的日志API。允许用户使用具体的日志实现,如:log4j,Avalon LogKit,java.util.logging。

    当然,JCL同时也提供了一个简单的日志实现org.apache.commons.logging.impl.SimpleLog,将日志输出到System.err。

    目前JCL已经停止更新了,最新发布版本为1.2 Release - July 2014。

    3. log4j

    4. logback

    1b1856343867ef88392da8352d7f00fd.png

    https://logback.qos.ch/

    logback是log4j的作者开发一个新的日志组件,原生支持slf4j实现。

    官方宣称logback比log4j小巧,且性能更好,支持更多功能,详见:https://logback.qos.ch/reasonsToSwitch.html。

    5. slf4j

    9e37ce910328b0cdd361e9475a21948e.png

    https://www.slf4j.org/

    slf4j被设计成一个日志框架,为应用程序提供日志API,具体的日志实现可以交给log4j,java.util.logging,logback。

    当然,slf4j本身也提供了一个简单的日志实现Slf4jSimple,但是只能输出INFO及以上级别的日志到System.err。

    总结:

    1. apache commons logging组件和slf4j都是日志抽象框架,为应用程序提供统一的日志操作API,支持多种日志实现,如:log4j。但是目前apache commons logging已经停止更新,活跃度并没有slf4j高,不建议使用。

    2. logback作为slf4j的原生实现,所以理论上最佳的日志组件组合是:slf4j + logback。

    3. slf4j提供了统一的日志API,将具体的日志实现交给其他日志框架,这带来了很大的灵活性。

    那么问题来了,既然存在这么多的日志框架,那如何选择呢?

    实际上,我们通常会选择当前主流的框架,比如log4j。当然,logback宣称比log4j更加高效。

    那slf4j在什么场合使用呢?slf4j为其他日志框架提供了统一的日志操作api,这对于sdk这样的基础库开发,非常适合使用slf4j,因为你不知道用户最终会选择什么日志框架。

    假如不使用slf4j,而是在sdk中使用了log4j,那只能要求sdk的用户也必须使用log4j,这对于用户来说是不能忍受的。

    而slf4j使用同一的日志操作api,将具体的日志框架选择权利留给用户,既可以选择log4j,也可以选择logback,甚至可以使用jdk日志组件。

    另外,slf4j的日志参数格式化非常方便,在slf4j中可以直接将日志语句写成:logger.info("hello, {}", "hello world");而在log4j中要实现这个效果必须通过String对象实现:

    logger.info(String.format("hello, %s", "hello world"));

    展开全文
  • 细说java平台日志组件

    2017-04-26 19:59:00
    JDK自带日志组件,使用方式简单,不需要依赖第三方日志组件。支持将日志打印到控制台,文件,甚至可以将日志通过网络打印到指定主机。相对于第三方独立日志框架来说,支持的日志级别比较少,功能也比较单一。 2. ...

    1. java.util.logging


    JDK自带日志组件,使用方式简单,不需要依赖第三方日志组件。
    支持将日志打印到控制台,文件,甚至可以将日志通过网络打印到指定主机。
    相对于第三方独立日志框架来说,支持的日志级别比较少,功能也比较单一。



    2. apache commons logging


    https://commons.apache.org/proper/commons-logging/index.html
    Apache Commons Logging简称JCL。
    JCL提供了一个轻量级的日志抽象,为应用程序提供统一的日志API。允许用户使用具体的日志实现,如:log4j,Avalon LogKit,java.util.logging。
    当然,JCL同时也提供了一个简单的日志实现org.apache.commons.logging.impl.SimpleLog,将日志输出到System.err。
    目前JCL已经停止更新了,最新发布版本为1.2 Release - July 2014。



    3. log4j


    log4j 1.x:    http://logging.apache.org/log4j/1.2/manual.html
    log4j 2.x:    https://logging.apache.org/log4j/2.x/
    主流日志框架,2.x版本继续更新,1.x已经停止。建议在应用程序中使用2.x版本。



    4. logback


    https://logback.qos.ch/
    logback是log4j的作者开发一个新的日志组件,原生支持slf4j实现。
    官方宣称logback比log4j小巧,且性能更好,支持更多功能,详见:https://logback.qos.ch/reasonsToSwitch.html



    5. slf4j


    https://www.slf4j.org/
    slf4j被设计成一个日志框架,为应用程序提供日志API,具体的日志实现可以交给log4j,java.util.logging,logback。
    当然,slf4j本身也提供了一个简单的日志实现Slf4jSimple,但是只能输出INFO及以上级别的日志到System.err。


    总结:
    1. apache commons logging组件和slf4j都是日志抽象框架,为应用程序提供统一的日志操作API,支持多种日志实现,如:log4j。但是目前apache commons logging已经停止更新,活跃度并没有slf4j高,不建议使用。
    2. logback作为slf4j的原生实现,所以理论上最佳的日志组件组合是:slf4j + logback。
    3. slf4j提供了统一的日志API,将具体的日志实现交给其他日志框架,这带来了很大的灵活性。

    那么问题来了,既然存在这么多的日志框架,那如何选择呢?

    实际上,我们通常会选择当前主流的框架,比如log4j。当然,logback宣称比log4j更加高效。
    那slf4j在什么场合使用呢?slf4j为其他日志框架提供了统一的日志操作api,这对于sdk这样的基础库开发,非常适合使用slf4j,因为你不知道用户最终会选择什么日志框架。
    假如不使用slf4j,而是在sdk中使用了log4j,那只能要求sdk的用户也必须使用log4j,这对于用户来说是不能忍受的。
    而slf4j使用同一的日志操作api,将具体的日志框架选择权利留给用户,既可以选择log4j,也可以选择logback,甚至可以使用jdk日志组件。
    另外,slf4j的日志参数格式化非常方便,在slf4j中可以直接将日志语句写成:logger.info("hello, {}", "hello world");而在log4j中要实现这个效果必须通过String对象实现:
    logger.info(String.format("hello, %s", "hello world"));

     

    转载于:https://www.cnblogs.com/nuccch/p/6770431.html

    展开全文
  • springboot的日志组件

    2018-06-14 18:52:00
    在默认的设置中,springboot是将日志信息仅打印在控制台,不输出到日志文件中的。  在依赖spring-boot-starter-web中,包含了logback的依赖;也就是说,如果引用了<artifactId>spring-boot-starter-web...

    一、简述

      Springboot本身为slf4j、log4j(含log4j2)、logback提供了默认的配置文件;在默认的设置中,springboot是将日志信息仅打印在控制台,不输出到日志文件中的。

      在依赖spring-boot-starter-web中,包含了logback的依赖;也就是说,如果引用了<artifactId>spring-boot-starter-web</artifactId>,就使用了自带的logback;

      如果不想使用springboot带的logback,可以在引用依赖的时排除logback;

    <dependencies>    
        <dependency>    
            <groupId>org.springframework.boot</groupId>    
            <artifactId>spring-boot-starter-web</artifactId>    
            <exclusions><!-- 去掉默认配置的logging -->    
                <exclusion>    
                    <groupId>org.springframework.boot</groupId>    
                    <artifactId>spring-boot-starter-logging</artifactId>    
                </exclusion>    
            </exclusions>    
        </dependency>    
        <dependency> <!-- 引入log4j2依赖或其它日志组件 -->    
            <groupId>org.springframework.boot</groupId>    
            <artifactId>spring-boot-starter-log4j2</artifactId>    
        </dependency>    
    </dependencies>    
    

     

    二、使用自定义的日志组件

      springboot支持使用自定义的日志组件和配置文件:排除对默认日志框架的依赖,引入所使用的日志组件的依赖;

      配置文件命名为log4j2-spring.xml 或 log4j2.xml (其它同理,如logback-spring.xml或logback.xml),且推荐使用 XXX-spring.xml的形式。这样无需在application.yml配置;

     

    转载于:https://www.cnblogs.com/chenhao0302/p/9184441.html

    展开全文
  • Spring Boot中默认集成了SLF4j+Logback,不用额外的maven依赖配置就可以直接使用 默认实现 Logback有一个默认的最简单配置的控制台实现,不用额外的配置文件就可以输出日志到控制入,如下代码所示 @RunWith...

    Spring Boot中默认集成了SLF4j+Logback,不用额外的maven依赖配置就可以直接使用

    默认实现

    Logback有一个默认的最简单配置的控制台实现,不用额外的配置文件就可以输出日志到控制台,如下代码所示

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class LogbackTests {
        private Logger logger = LoggerFactory.getLogger("yeyuanxinyi");
        @Test
        public void test() {
            logger.info("我是野猿新一啦");
        }
    }

    控制台输出结果,包含了时间、日志级别、线程、logger名称及log内容

    2020-09-11 11:44:44.885  INFO 14544 --- [           main] yeyuanxinyi                              : 我是野猿新一啦

    自定义实现

    Logback的强大之处在于其灵活的配置,通过配置文件可以配置日志输出的目的地,比如控制台、文件数据库等,可以配置日志的格式包含哪些内容,可以配置输出文件的路径名字等等

    下面的示例代码配置了一个最简单的控制台输出

    在src-main-resources下创建名为logback-spring.xml的配置文件,内容如下

    <configuration>
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符-->
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            </encoder>
        </appender>
        <root level="DEBUG">
            <appender-ref ref="STDOUT"/>
        </root>
    </configuration>

    测试代码还是上面原来的,输出如下

    2020-09-11 13:52:23.456 [main] INFO  yeyuanxinyi - 我是野猿新一啦
    • ConsoleAppender:表示控制台输出类
    • <encoder>:格式化输出的内容,可以包含时间、线程名、级别等
    • <root>:根logger,必须有该标签,通过<appender-ref>关联appender

     

     

     

     

     

     

     

    展开全文
  •  企业级项目在搭建的时候,最不可或缺的一部分就是日志日志可以用来调试程序,打印运行日志以及错误信息方便于我们后期对系统的维护,在SpringBoot兴起之前记录日志最出色的莫过于log4j了,对于目前来说项目还有...
  • starter的理念:starter会把所有用到的依赖都给包含进来,避免了开发者自己去引入依赖所带来的麻烦。需要注意的是不同的starter是为了解决不同的依赖,所以它们内部的实现可能会有很大的差异,例如
  • 企业级项目在搭建的时候,最不可或缺的一部分就是日志日志可以用来调试程序,打印运行日志以及错误信息方便于我们后期对系统的维护,在SpringBoot兴起之前记录日志最出色的莫过于log4j了,对于目前来说项目还有很...
  • 1.maven项目新增组件,就需要在pom.xml中引入依赖。但是logback不需要,因为他已经被包含在spring-boot-starter-web中了,所以如果引入了spring-boot-starter-web,就不需要再单独引用logback依赖。 如下图所示: ...
  • logback日志打印二三事

    2019-08-13 19:32:39
    目前日志组件比较流行的是logback,它的简单易用是我们青睐的原动力,但是易用是建立在部分功能对用户屏蔽上做的,接下来会为大家解释几个场景下为什么会出问题 一、引入logback依赖,并创建了空的logback-**.xml,...
  • 打印日志你真的会吗?

    千次阅读 2020-05-11 09:29:49
    文章目录概念快速上手1....Logback是由log4j创始人设计的一个开源日志组件,可以说是log4j的升级版也不为过! logback 官网:官网 logback 中文网:中文网 快速上手 我们知道,我们平时打印的日志级别一般为
  • controller中的接口,在请求的时候打印出请求参数和请求结果,方便进行调试 框架选择 通过在过滤器中输出日志的方式实现需求,也就是一个类 本着不想多写代码的原则,使用了开源组件logbook,基本满足需求 集成 依赖 ...
  • 会导致springboot中的slf4j和spark中的log4j日志组件冲突,springboot推荐使用slf4j+logback的模式来记录日志,logback比log4j更快的实现、更完善的配置,因此:1、pom文件中去除依赖了log4j的jar包。这一步不做也...
  • springboot默认使用了logback作为日志框架,如果你引入了...logback只打印当前级别日志 主要是由于对于appender组件的不熟悉 <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> ...
  • Logback是由log4j创始人设计的又一个开源日志组件, 查了一些资料说比log4j的性能还好, 以后将会逐步地替代掉log4j. 那么现在就来学学怎么使用logback吧 2. 导入依赖 &amp;amp;amp;amp;amp;lt;...
  • 一、输出日志到控制台springboot有很多starter(参考starter)方便快速构建项目依赖组件,logback是springboot默认的日志组件,启动即可看到打印在控制台输出的info级别的日志:2018-01-14 20:17:19.831 INFO 32976 --...
  • Swoft 日志

    2019-04-25 16:39:43
    Swoft日志依赖monolog/monolog组件进行扩展,并兼容PSR-3规范。 Swoft日志系统由两部分组成: 日志主体:Swoft\Log\Logger 通过Swoft\Log\Log对Logger进行了一层封装,使调用更加方便。 日志输出:Swoft\Log\...
  • springboot有很多starter(参考starter)方便快速构建项目依赖组件,logback是springboot默认的日志组件,启动即可看到打印在控制台输出的info级别的日志: 2018-01-14 20:17:19.831 INFO 32976 --- [ main] s....
  • 日志是很重要的一部分,在 JavaWeb 中最有名的日志组件当属 log4j 了,但是在后来 Logback 貌似更厉害,SpringBoot 默认集成了 Logback,所以要在 SpringBoot 中使用 Logback 并不需要添加特别的依赖,如果有个性化...
  • 2:追踪日志(多个组件相互调用时单纯只依赖系统日志效率低下,该日志便于追踪复杂业务的调用链)。 3:操作日志(也叫业务日志,记录一笔业务)。 这里仅介绍操作日志,操作日志(即业务日志)是在软件运行时...
  • [学习随笔]SpringMVC框架集成Log4j日志框架这里写自定义目录标题Log4j简介Log4j依赖添加 Log4j简介 log4j是Apache下的开源项目,主要功能为采集日志信息并输出打印。Log4j主要组件有如下三个。 (1)Logger:记录器...
  • Kafka和KafkaConfig相关类图Logging 日志类,提供所有级别的日志输出方法,kafka里面有打印日志的类都继承该类Kafka Kafka主函数main所在的类,静态函数getPropsFromArgs检查命令行参数,读取指定的server.proper...
  • 背景:由于自动化接口测试过程,频繁面临着接口发生变更,目前测试人力根本无法投入去及时处理,因为需要考虑一种便捷的方式,能快速的...ngnix默认是不支持打印响应报文的,因此需要安装依赖组件,步骤如下:备注...
  • 支持添加拦截器,添加拦截器后它会在最终打印输出前进行拦截处理,可以对日志信息进行重构处理 支持添加全局回调,在不影响底层输出的情况下,所有信息会回调至全局接口里,可以在这里按各种级别类型保存你需要的...
  • slf4j-spring-boot-starter 介绍一个注解搞定日志组件,减少到处编写日志的烦恼,还可定位代码哟软件架构依赖spring-boot-starter-aop原理说明AOP + Reflect作用范围任意由spring调用的方法当前版本1.4.2 (已提交...
  • 本文涉及到的内容: 日志组件的关系及MDC ... 日志门面中,slf4j和commons-logging都是不能直接打印日志的,需要依赖日志实现把日志记录下来 优选关系:Logback > Log4j > Java util log...
  • Mybatis之log4j

    2021-01-29 20:47:35
    Log4j是一个功能强大的日志组件,提供方便的日志记录。 为什么使用log4j? 随着代码量的增大、配置信息的繁冗,日志就成了我们debug的有力工具。 二、配置log4j 2.1 添加依赖包 在pom.xml中添加log4j的依赖包 <...
  • javaWeb项目配置log4j

    万次阅读 2017-10-17 14:09:01
    Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG、ALL,分别用来指定这条日志信息的重要程度;日志信息的输出目的地...

空空如也

空空如也

1 2 3 4 5
收藏数 84
精华内容 33
关键字:

日志组件打印依赖