springboot Logback 不同环境,配置不同的日志输出路径

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

1.背景:

mac 笔记本开发,日志文件写到/data/logs/下,控制台报出:Failed to create parent directories for [/data/logs/...........

再去手动在命令窗口创建文件夹data,报Read-only file system

springboot Logback 不同环境,配置不同的日志输出路径,Java,logback

2.修改logback-spring.xml文件:

resource 目录下的配置文件列表:

springboot Logback 不同环境,配置不同的日志输出路径,Java,logback

在logback-spring.xml添加配置, 只有local写到当前项目下的data目录,其他环境写到系统根目录/data下

<springProfile name="local">
    <property name="LOG_HOME" value="./data/logs/${appName}/${hostname}/"/>
</springProfile>

完整的logback-spring.xm

<?xml version="1.0" encoding="UTF-8"?>

<configuration debug="false">
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <springProperty scope="context" name="appName" source="spring.application.name"
                    defaultValue="onemap-quality-manage-service"/>
    <springProperty scope="context" name="ip" source="spring.cloud.client.ip-address"/>
    <property name="CONSOLE_LOG_PATTERN"
              value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [${ip} ${appName}] [%(%-5level) %logger{80}:%line]:%msg%n"/>
    <property name="LOG_HOME" value="/data/logs/${appName}/${hostname}/"/>
    <springProfile name="local">
        <property name="LOG_HOME" value="./data/logs/${appName}/${hostname}/"/>
    </springProfile>
    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!-- 日志文件:按照每天生成 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/${appName}-${ip}-info.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件地址和名称-->
            <FileNamePattern>${LOG_HOME}/${appName}-${ip}-info-%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日志文件保留天数-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!-- error日志 -->
    <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/${appName}-${ip}-error.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件地址和名称-->
            <FileNamePattern>${LOG_HOME}/${appName}-${ip}-error-%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日志文件保留天数-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>UTF-8</charset>
        </encoder>

        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level><!-- 只接收错误级别的日志 -->
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <!--设置框架的日志-->
    <logger name="org.springframework" level="INFO"/>
    <logger name="org.apache" level="WARN"/>

    <!-- 日志输出级别 -->
    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE"/>
        <appender-ref ref="ERROR"/>
    </root>
</configuration>

3.profiles.active 指定配置的local

日志写到当前项目下的/data/目录

springboot Logback 不同环境,配置不同的日志输出路径,Java,logback文章来源地址https://www.toymoban.com/news/detail-855832.html

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

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

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

相关文章

  • 23、springboot日志使用入门-- SLF4J+Logback 实现(springboot默认的日志实现),日志打印到控制台及日志输出到指定文件

    就是springboot的默认的日志依赖实现。创建项目的时候存在这个依赖里面。 下面的日志实现就是基于 SLF4J+Logback SLF4J+Logback:SLF4J是门面,Logback是实现 设置日志的级别,可通过以下方式: ▲ 改变Spring Boot的核心日志级别 ▲ 改变程序组件(包括所有各种框架)的核心日志级别

    2024年02月03日
    浏览(52)
  • springboot 日志配置(logback)

    Java 中的日志框架主要分为两大类: 日志门面 和 日志实现 。 Java 中的日志体系: 日志门面 日志门面定义了一组日志的接口规范,它并不提供底层具体的实现逻辑。 Apache Commons Logging 和 Slf4j ( Simple Logging Facade for Java 简单日志门面) 就属于这一类。 日志门面的作用:解决系

    2024年02月09日
    浏览(40)
  • springboot中logback日志配置

    Spring Boot使用Apache的Commons Logging作为内部的日志框架,其仅仅是一个日志接口,在实际应用中需要为该接口来指定相应的日志实现。 Spring Boot从1.4版本开始内置的日志框架就是Logback;Spring Boot 2.x 默认采用了slf4j+logback的形式,slf4j也是个通用的日志门面。 SpringBoot可以适配所有

    2024年02月16日
    浏览(47)
  • SpringBoot整合Logback日志框架配置全解析

    SpringBoot使用 Commons Logging 进行所有内部日志的记录,但默认配置也提供了对常用日志的支持,如 Java Util Logging,Log4J2,和Logback. 每种logger都可以通过配置使用控制台或文件输出日志内容。 Logback是log4j框架的作者开发的新一代日志框架,它效率更高、能够适应诸多的运行环境

    2024年02月02日
    浏览(58)
  • 6.3 SpringBoot日志进阶实战 Logback配置详解

    在上一篇文章中,我和你介绍了SpringBoot快速入门Slf4j + Logback实战,遗留的问题是如何将日志输出到文件。 今天这篇文章分享了我在SpringBoot中使用Logback配置日志的经验和方法,并提供了详细的代码示例和解释,包括: 滚动文件、异步日志记录、动态指定属性、日志级别、配

    2024年02月07日
    浏览(49)
  • SpringBoot项目从0到1配置logback日志打印

    大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 以下是正文! 我们在写后端项目的时候,日志打印是必需的。支持SpringBoot项目的日志框架一般有log4j、logback,

    2024年02月11日
    浏览(55)
  • springboot+mybatis 配置 logback 日志 并打印sql

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 springboot + logback 日志 提示:以下是本篇文章正文内容,下面案例可供参考 ` 使用时注意: 配置日志文件保存路径 默认用户目录 自定义指定需要打印日志的文件路径 参考连接: 很详细 是干货 SpringBoo

    2024年02月19日
    浏览(48)
  • Spring Boot多环境配置及Logback日志记录

    Spring Boot多环境配置 logback日志记录器 Spring Boot的针对不同的环境创建不同的配置文件, 语法结构:application-{profile}.properties profile:代表的就是一套环境 application-dev.yml 开发环境 端口8090 application-test.yml 测试环境 端口8091 application-prod.yml 生产环境 端口8092 在application.yml 中激活

    2024年01月19日
    浏览(47)
  • SpringBoot集成slf4j日志和logback.xml配置详解

    slf4j,即(Simple Logging Facade for Java,简单门面日志)。它是对所有日志框架制定的一种 规范、标准、接口 ,并不是一个框架的具体的实现,它只服务于各种各样的日志系统。 slf4j提供了统一的记录日志的接口,对不同日志系统的具体实现进行了抽象化,只要按照其提供的方法记

    2024年02月03日
    浏览(71)
  • java Logback输出日志内容到文件

    1.首先,在您的项目中添加Logback依赖,例如在Maven项目中的pom.xml文件中添加以下代码: 2.接下来,创建一个Logback配置文件,比如命名为logback.xml,并将其放置在类路径下(src/main/resources/目录)。 3.上述配置将日志输出到名为application.log的文件中。您可以根据需要更改文件名、

    2024年02月09日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包