springcloud动态加载日志路径和log.path_IS_UNDEFINED目录问题

2023-11-16

多模块工程中通常需要将不同模块服务的日志输出到指定的目录,日志目录结构如下:

- logs
    - app1
    - app2
    - ...

基于上述需要,需要在logback-spring.xml中动态读取application.yml(或者application.properties)的日志路径配置。解决步骤如下:

(1)在application.yml(或者application.properties)中增加配置如下内容:

logging:
  file:
    path: logs/${spring.application.name}

(2)在logback-spring.xml直接通过${LOG_PATH}使用配置的日志路径,因为LOG_PATH为内置变量,默认映射的变量为logging.file.path。

<appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <encoder>
        <pattern>${FILE_LOG_PATTERN}</pattern>
    </encoder>
    <file>${LOG_PATH}/all.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <fileNamePattern>${LOG_PATH}/all.log.%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
        <maxFileSize>${LOG_FILE_MAX_SIZE:-30MB}</maxFileSize>
        <maxHistory>${LOG_FILE_MAX_HISTORY:-1}</maxHistory>
    </rollingPolicy>
</appender>

完成上述配置工作,app1的日志就会输出到当前工程下的logs/app1/all.log文件中。但是,当前工程下会出现一个类似log.path_IS_UNDEFINED的目录,也有all.log日志文件,但是打开日志文件发现内容只有springboot启动前的日志信息,如下图所示,红框中的内容。

原因是springboot启动前未加载到application.yml(或者application.properties)中的路径配置信息,之前的日志就会输出到xxx_IS_UNDEFINED的目录中。

解决方案:在logback-spring.xml中增加一个属性,内容如下:

<property name="LOG_PATH" value="${LOG_PATH:- }"/>        //-后面是空格,千万不能错

关于${LOG_PATH:- }的理解请参考:https://www.cnblogs.com/fanxia/p/14079495.html#log_path--%E7%90%86%E8%A7%A3

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springcloud动态加载日志路径和log.path_IS_UNDEFINED目录问题 的相关文章

  • 【计算机开题报告】 医药信息管理系统

    一 选题依据 简述国内外研究现状 生产需求状况 说明选题目的 意义 列出主要参考文献 1 研究背景 随着医药事业的不断壮大 相关单位对于医药信息的管理变得越来越重要 传统的手工管理效率低 易出错 费时费力 不能及时精确的收集 传递 存储 加
  • 【计算机开题报告】图书管理系统

    一 选题依据 简述国内外研究现状 生产需求状况 说明选题目的 意义 列出主要参考文献 国内外研究现状 国外研究现状 在很多发达国家 图书管理系统的应用和技术发展已经相对完善 并且还建立了数字图书馆 各方面的情况也非常成熟 而图书管理的应用价
  • 【2024】基于springboot的爱心捐款救助平台课题开发

    目录 一 整体目录 文档含项目摘要 前言 技术介绍 可行性分析 流程图 结构图 ER属性图 数据库表结构信息 功能介绍 测试致谢等约1万字等 二 运行截图 三 代码部分 示范 四 数据库表 示范 数据库表有注释 可以导出数据字典及更新数据库
  • Java中SpringBoot组件集成接入【slf4j日志文档】

    Java中SpringBoot组件集成接入 slf4j日志文档 1 slf4j简介 2 maven依赖 3 配置 4 使用 5 展示 6 参考文章 1 slf4j简介 SLF4J Simple Logg
  • Java版直播商城:电商源码、小程序、三级分销及 免 费 搭 建 方案

    一 技术选型 java开发语言 java是一种跨平台的编程语言 适用于大型企业级应用开发 使用java开发直播商城可以保证系统的稳定性和可扩展性 spring boot框架 spring boot是一个快速构建spring应用的框架 简化了
  • 深入了解鸿鹄工程项目管理系统源码:功能清单与项目模块的深度解析

    工程项目管理软件是现代项目管理中不可或缺的工具 它能够帮助项目团队更高效地组织和协调工作 本文将介绍一款功能强大的工程项目管理软件 该软件采用先进的Vue Uniapp Layui等技术框架 涵盖了项目策划决策 规划设计 施工建设到竣工交付
  • 【计算机毕业设计】航空信息管理系统

    传统信息的管理大部分依赖于管理人员的手工登记与管理 然而 随着近些年信息技术的迅猛发展 让许多比较老套的信息管理模式进行了更新迭代 飞机票信息因为其管理内容繁杂 管理数量繁多导致手工进行处理不能满足广大用户的需求 因此就应运而生出相应的航空
  • 【计算机毕业设计】精品课程在线学习系统

    如今社会上各行各业 都喜欢用自己行业的专属软件工作 互联网发展到这个时候 人们已经发现离不开了互联网 新技术的产生 往往能解决一些老技术的弊端问题 因为传统精品课程学习信息管理难度大 容错率低 管理人员处理数据费工费时 所以专门为解决这个难
  • 企业电子招投标系统源码之电子招投标系统建设的重点和未来趋势

    功能描述 1 门户管理 所有用户可在门户页面查看所有的公告信息及相关的通知信息 主要板块包含 招标公告 非招标公告 系统通知 政策法规 2 立项管理 企业用户可对需要采购的项目进行立项申请 并提交审批 查看所有的立项信息 主要功能包含 招标
  • 【计算机毕业设计】北工国际健身俱乐部

    本系统为会员而设计制作北工国际健身俱乐部 旨在实现北工国际健身俱乐部智能化 现代化管理 本北工国际健身俱乐部管理自动化系统的开发和研制的最终目的是将北工国际健身俱乐部的运作模式从手工记录数据转变为网络信息查询管理 从而为现代管理人员的使用提
  • 界面组件DevExpress ASP.NET Core v23.2 - 拥有全新的主题样式

    DevExpress ASP NET Core Controls使用强大的混合方法 结合现代企业Web开发工具所期望的所有功能 该套件通过ASP NET Razor标记和服务器端ASP NET Core Web API的生产力和简便性 提供
  • SpringBoot中整合ElasticSearch快速入门以及踩坑记录

    场景 若依前后端分离版手把手教你本地搭建环境并运行项目 若依前后端分离版手把手教你本地搭建环境并运行项目 本地运行若依前后端分离 CSDN博客 参考上面搭建项目 ElaticSearch Elasticsearch 是java开发的 基于
  • 基于springboot+vue实现汽车改装方案网站演示【附项目源码+论文说明】

    基于springboot vue实现汽车改装方案网站演示 摘要 本文主要讲述了基于SpringBoot MySql开发技术开发的汽车改装方案网站的设计与实现 这里的汽车改装方案网站是通过一个平台使所有的汽车爱好者们可以不用出门就可以体验到专
  • 基springboot+vue实现开放实验室管理系统子系统【附项目源码+论文说明】

    基springboot vue实现开放实验室管理系统子系统 摘要 信息技术永远是改变生活的第一种创新方式 各种行业的发展更是脱离不了科技化的支持 原本传统的行业正在被科技行业的切入悄悄的发生变化 就拿我们生活当中常见的事情举例而言 在外卖行
  • 2024史上最全Java面试八股文(带全部答案)

    今天要谈的主题是关于求职 求职是在每个技术人员的生涯中都要经历多次 对于我们大部分人而言 在进入自己心仪的公司之前少不了准备工作 有一份全面细致 面试题 将帮助我们减少许多麻烦 在跳槽季来临之前 特地做这个系列的文章 一方面帮助自己巩固下基
  • 【go语言】读取toml文件

    一 简介 TOML 全称为Tom s Obvious Minimal Language 是一种易读的配置文件格式 旨在成为一个极简的数据序列化语言 TOML的设计原则之一是保持简洁性 易读性 同时提供足够的灵活性以满足各种应用场景 TOML
  • MongoDB - 整合 SpringBoot 操作全流程

    目录 一 MongoDB 整合 SpringBoot 1 1 引入依赖 1 2 配置文件 1 3 集合操作 1 4 相关注解 1 5 文档操作 1 5 1 查询 1 5 2 更新 1 5 3 删除 一 MongoDB 整合 SpringBo
  • 免费小程序商城搭建之b2b2c o2o 多商家入驻商城 直播带货商城 电子商务b2b2c o2o 多商家入驻商城 直播带货商城 电子商务

    1 涉及平台 平台管理 商家端 PC端 手机端 买家平台 H5 公众号 小程序 APP端 IOS Android 微服务平台 业务服务 2 核心架构 Spring Cloud Spring Boot Mybatis Redis 3 前端框架
  • 2024最强Java面试八股文合集(持续更新)

    今天要谈的主题是关于求职 求职是在每个技术人员的生涯中都要经历多次 对于我们大部分人而言 在进入自己心仪的公司之前少不了准备工作 有一份全面细致 面试题 将帮助我们减少许多麻烦 在跳槽季来临之前 特地做这个系列的文章 一方面帮助自己巩固下基
  • SpringCloud Config分布式配置中心

    文章目录 代码地址 简介 与GitHub整合配置 项目整合 测试 Config客户端配置与测试 测试 Config客户端之动态刷新 测试

随机推荐

  • CV学习:OpenCv快速入门(python版)

    本文代码全部可运行 笔者运行环境 python3 7 pycharm opencv4 6 此文是学习记录 记录opencv的入门知识 对各知识点并不做深入探究 文章的目的是让阅读者在极短的时间达到入门水平 在学习过程中 我们应养成 查询op
  • pygame用blit()实现动画效果

    pygame的的实现动画的方法有很多 但是都是围绕着表面进行的 也就是说实现动画的方式不同 但是本质其实都是对表面的不同处理方式而已 原理其实很简单 有点像我们做地铁的时候隧道里的广告一样 我们设置一个窗口 然后让窗口在一个画着很多帧图像的
  • 约束综合中的逻辑互斥时钟(Logically Exclusive Clocks)

    注 本文翻译自Constraining Logically Exclusive Clocks in Synthesis 逻辑互斥时钟的定义 逻辑互斥时钟是指设计中活跃 activate 但不彼此影响的时钟 常见的情况是 两个时钟作为一个多路
  • IDEA从安装到使用--相关配置详解

    IDEA从安装到使用 相关配置详解 作为一个技术小白 刚开始学习使用Intellij IDEA 入门时踩了很多的坑 这里写下我的第一篇博客 分享相关IDEA的配置方法 希望能为各位提供一点帮助 IDEA2018安装及破解 作者 志哥的成长笔
  • 大数(四则运算)

    四则运算 大数加法 高精度加法 大数减法 大数乘法 大数乘法 幂运算 大数乘法 高精度幂运算 大数除法 大数加法 思路 从后往前算 即由低位向高位运算 计算的结果依次添加到结果中去 最后将结果字符串反转 输入的时候两个数都是以字符串的形式输
  • 网站架构演变

    网站架构演变 大型网站介绍 与传统企业应用系统相比 大型互联网网站系统具有以下特点 1 大流量 高并发 这一点往往是传统企业应用系统根本就不会遇到的问题 比如Goole每日访问量都是几十亿 如果服务器端处理不好早就被压的宕机了 2 高可用
  • 环形缓冲区(1)

    声明 参考韦东山视频教程 如若侵权请告知 马上删帖致歉 个人总结 如有不对 欢迎指正 环形缓冲区 环形缓冲区的几个基本操作 申请内存空间 写操作 读操作 环形缓冲区小结 判断缓冲区是否为空 判断缓冲区是否写满 构建环形缓冲区 在 h文件中声
  • 【Augmentation Zoo】RetinaNet + VOC + KITTI的数据预处理-pytorch版

    整合前段时间看的数据增强方法 并测试其在VOC和KITTI数据上的效果 我的工作是完成了对VOC和KITTI数据的预处理 RetinaNet的模型代码来自pytorch retinanet 该项目github仓库在 https github
  • 中标麒麟+达梦数据库 无效的列名[AAAAAAAAAAAAAFS]

    目录 前言 解决办法 中标麒麟 解决办法 windows 前言 今天我将项目部署到中标麒麟服务器 发现原本好使的功能 只要一做添加操作就报如下错误 虽然报错 但数据还是添加了进去 这让我十分费解 解决办法 中标麒麟 问题出现在返回新增结果时
  • Next.js中使用antd修改其组件的默认样式

    在项目中使用了next js搭配了antd 其中需要自定义antd样式 在next js中如果想定义css 我用到的有两种方式 一种是直接使用行内式 div test div 另一种就是写一个css文件后引入 定义一个test module
  • SpringBoot(5)-SpringBoot整合其他项目

    SpringBoot 5 SpringBoot整合其他项目 1 整合Druid数据库连接池 1 1学习地址 1 2application yml 1 3访问一下 1 4随便执行一下新增 2 整合Redis 2 1添加redis pom依赖
  • mimikatz

    https blog gentilkiwi com mimikatz https github com ParrotSec mimikatz
  • C++day1(笔记整理)

    一 Xmind整理 二 上课笔记整理 1 第一个c 程序 hello world include
  • docker 四种网络模型

    一 docker网络基础知识 Docker在创建容器时有四种网络模式 bridge为默认不需要用 net去指定 其他三种模式需要在创建容器时使用 net去指定 bridge模式 使用 net bridge指定 默认设置 none模式 使用
  • java各类型String,int,char,long,StringBuilder,StringBuffer,Integer之间的转换总结

    String和char类型之间的转换 1 String char 因为String是字符串 而char是单个字符 只能把String 转化为char数组 方法为 char ch str toCharArray 2 char String 方
  • cmake命令之target_include_directories

    一 介绍 命令格式 target include directories
  • 完整的芯片反向设计流程原来是这样的!(实例讲解)

    完整的芯片反向设计流程原来是这样的 实例讲解 作者 时间 2018 02 23来源 网络收藏 现代IC产业的市场竞争十分激烈 所有产品都是日新月异 使得各IC设计公司必须不断研发新产品 维持自身企业的竞争力 IC设计公司常常要根据市场需求进
  • 在JavaScript的ES5版本中Array数组的reduce方法详解

    函数声明 reduce callback initialValue 参数说明 callback 回调函数 格式为function prev next initialValue 初始值 可选参数 返回值 最后一次执行callback 回调函数
  • SOME/IP

    SOME IP 名词解释 SOME IP 全称是 Scalable service Oriented MiddlewarE over IP 也就是基于 IP 协议的面向服务的可扩展性通信中间件协议 面向服务 SOA 基于 IP 协议之上的通
  • springcloud动态加载日志路径和log.path_IS_UNDEFINED目录问题

    多模块工程中通常需要将不同模块服务的日志输出到指定的目录 日志目录结构如下 logs app1 app2 基于上述需要 需要在logback spring xml中动态读取application yml 或者application prop