首页 > 其他分享 >springboot集成log4j日志

springboot集成log4j日志

时间:2023-12-09 18:23:12浏览次数:31  
标签:springboot dd boot log4j File org 日志 appender

一、在springboot的pom.xml配置文件中引入依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <!--排除默认spring-boot-starter-logging启动器-->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j</artifactId>
            <version>1.3.8.RELEASE</version>
        </dependency>
      </dependencies>

二、在项目目录resources目录下面新建文件log4j.propertieslogback.xml,如图

三、在log4j.properties文件中输入如下代码

log4j.rootLogger=warn,CONSOLE,File

#Console
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss SSS} [%t] [%c] [%p] - %m%n

#File  DailyRollingFileAppender
log4j.logger.File=info
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss SSS} [%t] [%c] [%p] - %m%n
log4j.appender.File.datePattern='.'yyyy-MM-dd
log4j.appender.File.Threshold = info
log4j.appender.File.append=true
log4j.appender.File.File=d://code/logs/flink/disk.log

四、在logback.xml文件中输入如下代码

点击查看代码
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
    <!-- 应用名称 -->
    <property name="APP_NAME" value="log-test"/>
    <!--定义日志文件的存储地址-->
    <property name="LOG_HOME" value="/logs/${APP_NAME}"/>
    <!-- 定义日志格式  -->
    <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] [%-30.30logger{30}] %msg%n"/>
    <!-- 高亮日志格式  -->
    <property name="HIGHLIGHT_PATTERN" value="%yellow(%d{yyyy-MM-dd HH:mm:ss.SSS}) [%thread] %highlight(%-5level) %green(%logger{50}) - %highlight(%msg) %n"/>

    <!-- 控制台输出-高亮 -->
    <appender name="CONSOLE-WITH-HIGHLIGHT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${HIGHLIGHT_PATTERN}</pattern>
        </encoder>
    </appender>

    <!--文件输出的格式设置 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <!-- 如果是 true,日志会被安全的写入文件,即使其他的FileAppender也在向此文件做写入操作,效率低,默认是 false -->
        <prudent>false</prudent>

        <!-- 日志日常打印日志文件,生成日志示例:/logs/log-test/info.log -->
        <file>${LOG_HOME}/info.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            <!-- 压缩日志的路径和日志格式,示例:info-2023-05-26_21.log.zip,%d{yyyy-MM-dd}:表示文件名称包含日期,%i:表示当前是第几个压缩文件 -->
            <fileNamePattern>${LOG_HOME}/info-%d{yyyy-MM-dd}_%i.log.zip</fileNamePattern>

            <!-- 如果按天来回滚,则最大保存时间为7天,7天之前的都将被清理掉 -->
            <maxHistory>7</maxHistory>

            <!-- 日志总保存量为10GB,超过该日志总量的最早的日志压缩包会被清除 -->
            <totalSizeCap>10GB</totalSizeCap>

            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!--文件达到 最大100MB时会被压缩和切割 -->
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>

        </rollingPolicy>

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

    </appender>

    <!-- 日志输出级别 -->
    <logger name="org.springframework" level="INFO"/>
    <logger name="com.zhou.*" level="INFO"/>
    <root level="INFO">
        <appender-ref ref="CONSOLE-WITH-HIGHLIGHT"/>
        <appender-ref ref="FILE"/>
    </root>

</configuration>

五、在application.yaml文件中做如下配置

六、在需要使用日志的类上面加上注解@Slf4j即可

文章参考:https://blog.csdn.net/qq_29864051/article/details/130881230

标签:springboot,dd,boot,log4j,File,org,日志,appender
From: https://www.cnblogs.com/faith007/p/17891284.html

相关文章

  • springboot整合minio上传文件
    (springboot整合minio上传文件)前言上章讲了MinIo的下载安装及创建bucket方法,今天来讲一下在springboot中如何整合运用MinIo进行文件上传功能。springboot整合minio1.引入minio依赖<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>8.5......
  • 毕设选题|基于Springboot和Vue实现游戏攻略分享平台
     作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助收藏点赞不迷路 关注......
  • springboot开启定时不起作用
    1、主启动类开启@EnableScheduling 并且该配置所在的package要能被扫描到 packagecom.gccloud.dataroom.core.config;importcom.gccloud.dataroom.core.module.receive.service.IDataReceiveService;importorg.springframework.beans.factory.annotation.Autowired;......
  • 在线小说|基于SpringBoot和Vue实现小说在线阅读网
    作者简介:Java、前端、Python开发多年,做过高程,项目经理,架构师主要内容:Java项目开发、Python项目开发、大学数据和AI项目开发、单片机项目设计、面试技术整理、最新技术分享收藏点赞不迷路 关注作者有好处文末获得源码 项目编号:BS-PT-119一,环境介绍语言环境:Java: jdk1.8数据库:My......
  • 计划任务与日志
    [root@localhost~]#systemctlenablecrond[root@localhost~]#psaux|grepcrondroot62420.30.01263801656?Ss16:270:00/usr/sbin/crond-ncrond进程每分钟会处理一次计划任务存储位置[root@localhost~]#ls/var/spool/cron......
  • 读程序员的README笔记05_日志、监控与配置
    1. 行为准则2. 日志分级2.1. 日志框架设有日志级别,它可以让运维人员根据重要性过滤消息2.2. 编程语言有精良的日志类库,让运维人员对要记录的内容和时间有更多的控制2.3. TRACE2.3.1. 一个极其精细的日志级别2.3.2. 对特定的包或类开放2.3.3. 在开发阶段之外很少......
  • Spring Boot学习随笔- @SpringBootApplication详解、加载绝对路径配置文件、工厂创建
    学习视频:【编程不良人】2021年SpringBoot最新最全教程3.5@SpringBootApplication详解这是一个组合注解,就是由多个注解组成。下列注解红框内称为元注解(jdk提供)@Target:指定注解作用范围@Retention:指定注解什么时候生效重要注解@SpringBootConfiguration:自动配置Spring......
  • Springboot内置神器:CollectionUtils工具类的实战秘籍
    前言实际业务开发中,集合的判断和操作也是经常用到的,Spring也针对集合的判断和操作封装了一些方法,但是最令我惊讶的是,我在梳理这些内容的过程中发现了一些有趣的现象,我的第一反应是不敢相信,再想一想,没错,我是对的。所以强烈建议大家可以认真看完这篇文章,这一篇绝对有价值,因为有趣的......
  • 失物招领平台|基于Springboot和Vue实现失物招领系统
    作者简介:Java、前端、Python开发多年,做过高程,项目经理,架构师主要内容:Java项目开发、Python项目开发、大学数据和AI项目开发、单片机项目设计、面试技术整理、最新技术分享收藏点赞不迷路 关注作者有好处文末获得源码 项目编号:BS-XX-194一,环境介绍语言环境:Java: jdk1.8数据库:My......
  • 灾区物资救助系统|基于Springboot开发实现灾区物资救助系统
    作者简介:Java、前端、Python开发多年,做过高程,项目经理,架构师主要内容:Java项目开发、Python项目开发、大学数据和AI项目开发、单片机项目设计、面试技术整理、最新技术分享收藏点赞不迷路 关注作者有好处文末获得源码 项目编号:BS-XX-198一,环境介绍语言环境:Java: jdk1.8数据库:My......