• Spring Boot 2.x基础教程:使用tinylog记录日志


    tinylog简介

    tinylog,与其他各种tiny开头的东西一样,是一个轻量级的开源日志解决方案。它本身只包含两个JAR文件(一个用于API,另一个用于实现),没有任何外部依赖关系。两个JAR文件的总大小只有178KB。

    虽然是一个轻量级级别方案,但我们常用的基本日志管理功能都非常完备,它拥有与其他热门日志框架类似的API设计、多种可配置的日志输出选项、性能方面也是非常的出彩(这是官方给出的Benchmark)。

    今天我们就来学习一下,如何在Spring Boot中使用tinylog记录日志。

    整合tinylog

    通过之前Spring Boot 2.x基础教程:使用log4j2记录日志 一文的学习,回忆一下,整合其他日志框架,是不是可以总结为这样几步:

    1. 排除Spring Boot默认日志框架依赖
    2. 引入要使用的日志框架依赖
    3. 加入新日志框架的配置文件

    好了,我们就按这个步骤来实战一下:

    第一步:排除Spring Boot默认日志框架依赖

    <dependencies>
        <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>
    </dependencies>
    

    第二步:引入tinylog的依赖

    <properties>
        <tinylog.version>2.4.1</tinylog.version>
    </properties>
    
    <dependencies>
        <dependency>
            <groupId>org.tinylog</groupId>
            <artifactId>tinylog-api</artifactId>
            <version>${tinylog.version}</version>
        </dependency>
        <dependency>
            <groupId>org.tinylog</groupId>
            <artifactId>tinylog-impl</artifactId>
            <version>${tinylog.version}</version>
        </dependency>
        <dependency>
            <groupId>org.tinylog</groupId>
            <artifactId>slf4j-tinylog</artifactId>
            <version>${tinylog.version}</version>
        </dependency>
        <dependency>
            <groupId>org.tinylog</groupId>
            <artifactId>jcl-tinylog</artifactId>
            <version>${tinylog.version}</version>
        </dependency>
        <dependency>
            <groupId>org.tinylog</groupId>
            <artifactId>log4j1.2-api</artifactId>
            <version>${tinylog.version}</version>
        </dependency>
    
    </dependencies>
    

    测试与验证

    到这里,基本整合已经完成了。我们不着急去对tinylog做详细配置,先验证下到这里是否都已经正确。跟之前的日志整合例子一样,写个主类打印下各个级别的日志。

    @Slf4j
    @SpringBootApplication
    public class Chapter83Application {
    
        public static void main(String[] args) {
            SpringApplication.run(Chapter83Application.class, args);
    
            log.error("Hello World");
            log.warn("Hello World");
            log.info("Hello World");
            log.debug("Hello World");
            log.trace("Hello World");
        }
    
    }
    

    这里用了lombok的@Slf4j,如果还不了解的建议读一下这篇:Lombok:让JAVA代码更优雅

    运行一下,从控制台可以看到输出内容如下:

    通过debug,我们可以看到此时的log已经是TinylogLogger

    第三步:加入tinylog的配置文件

    通过上一步,我们虽然已经完成了整合,但是上面的格式,是你想要的吗?加入配置调整一下!

    在resources目录下创建文件:tinylog.properties

    加入下面的配置:

    writer=console
    writer.format={date: HH:mm:ss.SSS} {level}: {message}
    

    重新运行测试,控制台输出是不是好看一些了

    更多配置,比如:文件输出、级别控制等这里就不详细说了,大家可以查看官方文档,基本上与其他框架都是类似的,很容易配置。

    好了,今天的学习就到这里!如果您学习过程中遇到困难,可以加入我们超高质量的Spring技术交流群 ,参与交流与讨论,更好的学习与进步!更多Spring Boot教程可以点击直达! ,欢迎收藏与转发支持!

    代码示例

    本文的完整工程可以查看下面仓库中2.x目录下的chapter8-3工程:

    如果您觉得本文不错,欢迎Star支持,您的关注是我坚持的动力!

    欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源

  • 相关阅读:
    [小试牛刀]部署在IDEA的JFinal 3.0 demo
    使用myBase Desktop来管理电脑上的资料
    用URLGather来管理和保存你的页面
    查看Json的结构及内容:JsonViewerPackage
    有用的2个 Windows 下批处理文件(bat文件):
    在Eclipse-jee-neon中配置Hibernate(jbosstools)
    [Eclipse的Maven项目搭建,仅为测试Maven功能]如何在Eclipse下搭建Maven项目
    在 Windows 中配置Maven:
    你的package包名有问题!
    Workflow Builder 2.6.3 Certified on Windows 10 for EBS 12.x
  • 原文地址:https://www.cnblogs.com/didispace/p/15895069.html
Copyright © 2020-2023  润新知