SpringBoot 整合 slf4j 日志打印

  划水时间,记录一下用到的相关slf4j 日志打印,如何实现配置输出、本地保存log日志文件...

  我使用的是SpringBoot框架,slf4j 类库已经包含到了 SpringBoot 框架中,所有,所有前提是“你的SpringBoot项目能够启动起来”

  /手动滑稽...

  第一步:在 application.properties 文件中先定义好logger文件的一些配置信息,这样方便以后修改配置;

######################   log 配置  ######################
######################   log 配置  ######################
log.fileBackupPath=D://log/
log.history=30
log.fileSize=10mb
log.totalSize=100mb
#当前日志文件名称
log.fileName=server.log
#备份日志文件命名策略
log.backupFileNamePolicy=server-%d{yyyy-MM-dd}.%i.log
#日志文本生成策略
# d:时间 C:类名称 M:方法名称 L:行号 m:消息 n:换行
log.txtPatternPolicy=%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level %C{36} %M %L - %m %n

  第二步:新建一个logger-config.xml 配置文件,路径:resource/logger-config.xml;

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <!-- 引入配置文件 -->
    <property resource="application.properties"/>
    <!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,%i索引【从数字0开始递增】 -->

    <!-- 定义控制台输出格式 -->
    <!-- appender(附加):是 configuration 的子节点,是负责写日志的组件 -->
    <!--ConsoleAppender :是将信息输出到控制台-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender" >
        <encoder>
            <!-- patter(模式)-->
            <!--  %d{pattern}日期
                    %m或者%msg为信息
                    %M为method
                    %L为行号
                    %thread线程名称
                    %n换行
                    %-5level

                    %C{length} |  %class{length}

                    %c {length }  |  %lo {length }   |  %logger {length }
                    输出日志的logger名,可有一个整形参数,功能是缩短logger名,设置为0表示只输入logger最右边点符号之后的字符串。 Conversion specifier Logger name Result
            -->
            <pattern>${log.txtPatternPolicy}</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!-- 配置log 文件生成策略 -->
    <!-- RollingFileAppender: 符合定义条件后,将会重新新建文件进行记录 -->
    <appender name="server" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <File>${log.fileBackupPath}${log.fileName}</File>
        <!-- TimeBasedRollingPolicy : 是一种基本的滚动策略,会根据时间来进行制定策略,既负责滚动,也负责触发-->
        <rollingPolicy  class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- fileNamePattern: 文件命名模式 -->
            <fileNamePattern>${log.fileBackupPath}${log.backupFileNamePolicy}</fileNamePattern>
            <!-- 文件存在时间 -->
            <maxFileSize>${log.fileSize}</maxFileSize>
            <maxHistory>${log.history}</maxHistory>
            <totalSizeCap>${log.totalSize}</totalSizeCap>
        </rollingPolicy >
        <encoder>
            <!-- pattern : 用来定义log 日志文件的输入格式 -->
            <pattern>
                ${log.txtPatternPolicy}
            </pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" />  
    <logger name="org.hibernate.type" level="TRACE" />
    <logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" />  
    <logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />  
    <logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" />

    <!-- 日志级别 -->
    <!-- 级别依次为【从高到低】:FATAL > ERROR > WARN > INFO > DEBUG > TRACE  -->
    <root level="INFO">
        <appender-ref ref="console"/>
        <appender-ref ref="server"/>
    </root>

</configuration>

  

  第三步:需要在 application.properties 文件中,配置slf4j 关联本地自己的配置信息,如果不关联,那就不会加载自己的配置信息了。

#最后,引用配置好的logger 配置文件
logging.config=classpath:config/logger-config.xml

效果:

  1.启动SpringBoot:

  2.生成本地 log 文件:当前文件、备份文件

 

  3.server.log 中的写入文件:

ByeBye...

原文地址:https://www.cnblogs.com/mysouler/p/10794532.html

时间: 2024-07-31 18:15:57

SpringBoot 整合 slf4j 日志打印的相关文章

SpringBoot整合+logback日志配置

本次演示的代码结构如下,基于maven,整合SpringBoot.Spring.Mybaits的SSM框架.同时测试logback日志框架的使用及配置. 1.创建maven工程,修改pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h

SpringBoot+logback实现日志打印

logback介绍 logback是一款开源的日志框架,内核重写了,是基于log4j基础进行改良的.其官网为logback.qos.ch.logback在性能上有很大提升,拥有更多特性. logback-core:是其它两个模块的基础模块 logback-classic:log4j的改良版本,实现了Slf4j API logback-access:集成Servle环境时就需要logback了,可以提供Http访问的接口 日志级别 日志级别:ERROR, WARN, INFO, DEBUG or

SpringBoot整合aop日志管理

1. 开发前准备 1.1 前置知识 java基础自定义注解.反射 Spring aop SpringBoot简单基础知识即可 1.2 环境参数 开发工具:IDEA 基础环境:Maven+JDK8 所用技术:SpringBoot.lombok.mybatisplus.Spring aop SpringBoot版本:2.1.4 1.3 涉及知识点 自定义注解. 反射 spring aop 环绕通知 2. aop日志实现 AOP(Aspect Oriented Programming)是一个大话题,这

springboot整合log4j2日志框架

springboot依赖中默认引入spring-boot-starter-logging,若要使用log4j2日志框架,则需要先将spring-boot-starter-logging排除. 方法: 在依赖关系图中找到spring-boot-starter-logging,单击右键选择exclude将其排除出去. pom文件中引入: <dependency> <groupId>org.springframework.boot</groupId> <artifact

springboot整合mybatis将sql打印到日志(转)

在前台请求数据的时候,sql语句一直都是打印到控制台的,有一个想法就是想让它打印到日志里,该如何做呢? 见下面的mybatis配置文件: [html] view plain copy print? <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "htt

springboot整合logback集成elk实现日志的汇总、分析、统计和检索功能

在Spring Boot当中,默认使用logback进行log操作.logback支持将日志数据通过提供IP地址.端口号,以Socket的方式远程发送.在Spring Boot中,通常使用logback-spring.xml来进行logback配置. 首先.创建一个elk的springboot项目,然后先对logback进行配置,配置各项的详细说明可以去看http://aub.iteye.com/blog/1101222,说的很详细.也多参考一下别人关于日志的描述https://www.cnbl

SpringBoot系列十一:SpringBoot整合Restful架构(使用 RestTemplate 模版实现 Rest 服务调用、Swagger 集成、动态修改日志级别)

1.概念:SpringBoot整合Restful架构 2.背景 Spring 与 Restful 整合才是微架构的核心,虽然在整个 SpringBoot(SpringCloud)之中提供有大量的服务方便整合,但是这些 整合都不如 Rest 重要,因为 Rest 是整个在微架构之中进行通讯的基础模式.那么对于 Rest 首先必须对其有一个最为核心的解释: 利用 JSON 实现数据的交互处理.而且 Spring 里面提供有一个非常强大的 RestTemplate 操作模版,利用此模版可以非常轻松的实

springboot配置Log4j(将输出日志打印在控制台)

在springboot整合mybatis开发过程中,配置Log4j文件以便查看Mybatis操作数据库的过程 编辑器:IDEA 第一步:pom.xml中引入依赖(mybatis依赖和log4j2依赖) 如下: #在spring-boot-starter-web中自动配置了logging依赖,在使用Log4j时需要先排除其依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g

springboot配置aop切面日志打印

一.SpringBoot Aop说明 1. Aop AOP(Aspect-Oriented Programming,面向切面编程),它利用一种”横切”的技术,将那些多个类的共同行为封装到一个可重用的模块.便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性. 2. AOP相关概念: Aspect(切面):声明类似于Java中的类声明,在Aspect中会包含一些Pointcut及相应的Advice. Joint point(连接点):表示在程序中明确定义的点.包括方法的调