springboot 项目日志配置文件详解

这篇具有很好参考价值的文章主要介绍了springboot 项目日志配置文件详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

spring boot  项目指定 日志配置文件

在Spring Boot项目中,可以通过在application.propertiesapplication.yml文件中指定日志配置文件来配置日志。

1. 使用application.properties文件:

application.properties中,您可以使用以下属性来指定日志配置文件:

logging.config=classpath:custom-logback.xml

上述配置将告诉Spring Boot使用位于类路径下的custom-logback.xml文件作为日志配置文件。您可以将文件路径更改为您自己的日志配置文件的路径。

2. 使用application.yml文件:

application.yml中,您可以使用以下属性来指定日志配置文件:

logging:
  config: classpath:custom-logback.xml

与上述application.properties的配置相同,此配置将告诉Spring Boot使用位于类路径下的custom-logback.xml文件作为日志配置文件。

请确保日志配置文件位于类路径下,或者根据需要指定正确的文件路径。

使用上述配置,您可以在Spring Boot项目中指定自定义的日志配置文件,以覆盖默认的日志配置。

logback-spring.xml 和 logback.xml 区别

方案一

在使用 Logback 作为日志框架时,logback-spring.xml 和 logback.xml 是两个常用的配置文件,它们在加载和处理配置方面略有不同。

  1. logback-spring.xml

    • logback-spring.xml 是专为 Spring Boot 项目准备的 Logback 配置文件。
    • 当使用 Spring Boot 时,如果存在 logback-spring.xml 文件,Spring Boot 会自动加载并替换默认的 Logback 配置。
    • logback-spring.xml 支持 Spring Boot 的特性和扩展,例如可以使用 Spring 的属性占位符 ${} 进行动态配置。
    • Spring Boot 在加载 logback-spring.xml 时,还会进行日志级别的自动配置,根据应用程序的 application.properties 或 application.yml 中的 logging.level.* 配置来设置日志级别。
    • logback-spring.xml 的加载顺序优先于 logback.xml
  2. logback.xml

    • logback.xml 是通用的 Logback 配置文件,适用于非 Spring Boot 项目或不需要 Spring Boot 特性的项目。
    • 如果存在 logback.xml 文件,它会被加载和使用,而忽略任何 logback-spring.xml
    • logback.xml 配置中无法使用 Spring 的属性占位符,因为它不会经过 Spring 的处理。
    • logback.xml 需要手动配置日志级别和其他相关设置,不会自动受到应用程序的其他配置文件影响。

总结:

  • 如果使用 Spring Boot 项目,建议使用 logback-spring.xml 配置文件,以便享受 Spring Boot 的自动配置和属性占位符的特性。
  • 对于非 Spring Boot 项目或不需要 Spring Boot 特性的项目,使用 logback.xml 配置文件即可。

需要注意的是,无论是 logback-spring.xml 还是 logback.xml,它们的配置语法和元素都是相同的,可以根据具体需求进行配置。

方案二

logback-spring.xml 和 logback.xml 是用于配置 Logback 日志框架的文件,它们在使用方式和加载机制上有一些区别。

logback-spring.xml 是针对 Spring Framework 应用程序特定的 Logback 配置文件,它与 Spring 的集成提供了一些额外的功能和特性。当存在 logback-spring.xml 文件时,Spring Boot 应用程序会优先加载它。这个特定的文件名是为了利用 Spring Boot 的自动配置机制,可以通过在 logback-spring.xml 中使用 Spring 属性占位符,从应用程序的 application.properties 或 application.yml 文件中动态配置日志。这意味着您可以在运行时通过 Spring 的属性配置来更改 Logback 日志的行为。

相比之下,logback.xml 是通用的 Logback 配置文件,用于非 Spring 应用程序或不需要与 Spring 集成的应用程序。当不存在 logback-spring.xml 文件时,Logback 会尝试加载 logback.xml 文件。这个文件通常用于独立的 Java 应用程序或其他非 Spring 环境下的应用程序。

如果您使用的是 Spring Boot 框架,建议优先使用 logback-spring.xml 文件来配置 Logback,以获得更好的集成和动态配置的能力。如果您不使用 Spring Boot,或者不需要与 Spring 集成,那么可以使用 logback.xml 来配置 Logback。

spring boot 项目日志配置文件指定日志输入目录

在Spring Boot项目中,要指定日志文件的输出目录,您可以使用以下方法:

1. 使用application.properties配置文件:

application.properties中,您可以使用以下属性来指定日志文件的输出目录:

logging.file.path=/path/to/logs

/path/to/logs替换为您希望日志文件输出的目录路径。

2. 使用application.yml配置文件:

application.yml中,您可以使用以下属性来指定日志文件的输出目录:

logging:
  file:
    path: /path/to/logs

同样,将/path/to/logs替换为您希望日志文件输出的目录路径。

请确保指定的目录具有适当的权限,以便应用程序能够在该目录中创建和写入日志文件。

通过上述配置,您可以将日志文件输出到指定的目录,而不是默认的日志目录。

日志文件配置案例

案例一

配置文件 logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <contextName>logback</contextName>
    <!--输出到控制台-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!--按天生成日志-->
    <appender name="logFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <Prudent>true</Prudent>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>
                applog/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.log
            </FileNamePattern>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} -%msg%n
            </Pattern>
        </layout>
    </appender>
    <!-- logger节点,可选节点,作用是指明具体的包或类的日志输出级别,以及要使用的<appender>(可以把<appender>理解为一个日志模板)。addtivity:非必写属性,是否向上级loger传递打印信息。默认是true-->
    <logger name="com.leshangju.project" additivity="false">
        <appender-ref ref="console"/>
        <appender-ref ref="logFile"/>
    </logger>

    <root level="info">
        <appender-ref ref="console"/>
        <appender-ref ref="logFile"/>
    </root>

</configuration>

日志生成目录展示

springboot 项目日志配置文件详解,后端,# java,spring,logback,xml

案例二

配置文件 logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="false" scanPeriod="60 seconds" debug="false">

    <springProperty scope="context" name="logPath" source="gjsp.logs.path" defaultValue="${user.home}/data/app/cars-gjsp/logs"/>

    <property name="APP_NAME" value="cars-gjsp"/>
    <property name="LOG_HOME" value="data/app/gjsp/logs/${APP_NAME}"/>
    <springProfile name="prod">
        <property name="LOG_HOME" value="/${logPath}/${APP_NAME}"/>
    </springProfile>

    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
        </layout>
    </appender>

    <appender name="appLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/${APP_NAME}.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/${APP_NAME}-%d{yyyy-MM-dd}-%i.log</fileNamePattern>
            <MaxHistory>30</MaxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [ %thread ] - [ %-5level ] [ %logger{50} : %line ] - %msg%n</pattern>
        </layout>
    </appender>

    <logger name="org.springframework" level="info" additivity="false"/>

    <logger name="io.swagger" level="OFF"/>
    <logger name="springfox.documentation" level="OFF"/>
    <logger name="io.lettuce" level="info" additivity="false"/>
    <logger name="io.netty" level="info" additivity="false"/>
    <logger name="org.apache.http.wire" level="info" additivity="false"/>
    <logger name="jdbc.connection" level="OFF"/>
    <logger name="jdbc.resultset" level="OFF"/>
    <logger name="jdbc.resultsettable" level="OFF"/>
    <logger name="jdbc.audit" level="OFF"/>
    <logger name="jdbc.sqltiming" level="INFO"/>
    <logger name="jdbc.sqlonly" level="OFF"/>

    <logger name="org.hibernate.SQL" additivity="false">
        <level value="info"/>
        <appender-ref ref="console"/>
        <appender-ref ref="appLogAppender"/>
    </logger>

    <!-- 2. 输出SQL 的参数到控制台和文件-->
    <logger name="org.hibernate.type.descriptor.sql.BasicBinder" additivity="false">
        <level value="info"/>
        <appender-ref ref="console"/>
        <appender-ref ref="appLogAppender"/>
    </logger>

    <root level="info">
        <appender-ref ref="console"/>
        <appender-ref ref="appLogAppender"/>
    </root>
</configuration>

 日志生成目录展示

springboot 项目日志配置文件详解,后端,# java,spring,logback,xml

 文章来源地址https://www.toymoban.com/news/detail-662421.html

到了这里,关于springboot 项目日志配置文件详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入理解 SpringBoot 日志框架:从入门到高级应用——(五)Log4j2配置文件详解

    Log4j2 官方文档:https://logging.apache.org/log4j/2.x/manual/index.html Log4j2 是一个Java日志框架,用于记录应用程序在运行时的信息。它是 Log4j 的升级版本,提供了更快的处理速度,更快的日志记录和更丰富的日志记录功能,并支持异步日志记录,减少了对应用程序性能的影响。它可以

    2024年02月05日
    浏览(43)
  • 2023 最新版IntelliJ IDEA 2023.1创建Java Web前(vue3)后端(spring-boot3)分离 项目详细步骤(图文详解)

    2023 最新版IntelliJ IDEA 2023.1创建Java Web 项目详细步骤(图文详解) 本篇使用当前Java Web开发主流的spring-boot3框架来创建一个Java前后端分离的项目,前端使用的也是目前前端主流的vue3进行一个简单的项目搭建,让你距离Java全栈开发更近一步 🏴‍☠️。 使用版本: “17.0.1”

    2024年02月12日
    浏览(83)
  • Java实战:Spring Boot application.yml配置文件详解

    本文将详细介绍Spring Boot application.yml 配置文件的使用和配置项。我们将探讨 application.yml 文件的基本概念,以及如何使用它来配置Spring Boot应用程序的各个方面。此外,我们将通过具体的示例来展示如何配置不同的Spring Boot组件,如数据源、数据库、缓存、邮件服务等。本文适

    2024年04月24日
    浏览(42)
  • springboot 项目启动不打印spring 启动日志

    今天项目遇到一个很奇怪的问题,服务在启动时,不打印spring 的启动日志。经过排查发现是因为其他的依赖引入了 log4j 的依赖,因为我们的项目用的是logback,所以项目中没有log4j 的相关配置,所以干扰到了日志的打印 下面是log4j缺失配置文件的告警日志: log4j:WARN No append

    2024年02月11日
    浏览(54)
  • SpringBoot配置文件和日志

    目录 SpringBoot配置文件 SpringBoot配置文件的作用  项目中的重要数据写在配置文件当中 降低代码耦合  SpringBoot配置文件的格式  properties配置文件 读取配置文件中的内容(@Value注解使用${}格式读取) properties优缺点  yml配置文件  yml特点: yml语法  yml对于单双引号的问题  y

    2024年02月05日
    浏览(38)
  • SpringBoot + Vue前后端分离项目实战 || 三:Spring Boot后端与Vue前端连接

    系列文章: SpringBoot + Vue前后端分离项目实战 || 一:Vue前端设计 SpringBoot + Vue前后端分离项目实战 || 二:Spring Boot后端与数据库连接 SpringBoot + Vue前后端分离项目实战 || 三:Spring Boot后端与Vue前端连接 SpringBoot + Vue前后端分离项目实战 || 四:用户管理功能实现 SpringBoot + Vue前后

    2024年02月12日
    浏览(65)
  • Spring Boot配置保存日志文件

    springboot日志配置: springboot默认日志是打印再console中的,不会保存在文件中。我们项目上线肯定要保存日志用于分析的。 一、使用xml配置日志保存(并不需要pom配置slf4j依赖,starter里面已经配置了依赖了) 1、在项目的resources目录下创建一个【logback-spring.xml】日志配置文件

    2024年02月11日
    浏览(42)
  • Spring Boot 配置文件和日志

    目录 配置文件格式 properties配置文件说明 1.properties基本语法 2.读取配置文件 3.properties缺点 yml配置文件说明 1.yml基本语法 2.配置不同数据类型 3.字符串特殊情况 4.配置对象 properties和yml对比 日志 日志的使用 日志级别 日志持久化 Lombok Lombok原理解释 Spring中配置文件有很重要的

    2024年01月19日
    浏览(56)
  • SpringBoot + Vue前后端分离项目实战 || 二:Spring Boot后端与数据库连接

    系列文章: SpringBoot + Vue前后端分离项目实战 || 一:Vue前端设计 SpringBoot + Vue前后端分离项目实战 || 二:Spring Boot后端与数据库连接 SpringBoot + Vue前后端分离项目实战 || 三:Spring Boot后端与Vue前端连接 SpringBoot + Vue前后端分离项目实战 || 四:用户管理功能实现 SpringBoot + Vue前后

    2024年02月11日
    浏览(59)
  • Spring Boot配置文件及日志信息

    目录 前言: Spring Boot优点 配置文件 配置文件格式 读取配置文件 properties配置文件格式 properties优缺点分析 yml配置文件格式(另一种标记语言) yml优缺点分析 Spring Boot 不同平台配置文件规则 日志信息 日志的功能 Spring Boot内置日志框架 使用日志 得到日志对象 打印日志 日志

    2024年02月01日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包