news 2026/4/16 19:28:40

Java项目日志持久化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java项目日志持久化

前言

  • 当我们在服务器上运行Java的时候,发布新功能或者重启容器的时候,对于已有的日志会直接丢失,这很不方便我们排查以往的bug。所以我们需要把日志收集起来,方便我们查看以往的日志情况。

正文

  • 首先,在 resources 文件夹下添加 logback-spring.xml 文件,内容如下,这是最基本的,可以自己添加内容(如彩色日志等,这里就不做演示了,只演示最基本的。)我本地激活的是text环境,所以我把test的位置放在了当前目录下,各位可以按照自己的情况修改value的值即可
<?xml version="1.0" encoding="UTF-8"?><configuration><!-- 开发环境:使用用户主目录下的 logs 文件夹 --><springProfilename="dev"><propertyname="LOG_PATH"value="${user.home}/logs/travel-echo"/></springProfile><!-- 生产环境:容器内标准路径 --><springProfilename="prod"><propertyname="LOG_PATH"value="/app/logs"/></springProfile><!-- 测试环境:容器内标准路径 --><springProfilename="test"><propertyname="LOG_PATH"value="./logs"/></springProfile><!-- 文件输出 --><appendername="FILE"class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_PATH}/app.log</file><rollingPolicyclass="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 按天滚动,保留180天 --><fileNamePattern>${LOG_PATH}/app.%d{yyyy-MM-dd}.log</fileNamePattern><maxHistory>180</maxHistory><totalSizeCap>10GB</totalSizeCap></rollingPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><!-- 控制台输出(用于 docker logs) --><appendername="CONSOLE"class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><rootlevel="INFO"><appender-refref="FILE"/><appender-refref="CONSOLE"/><!-- 👈 同时输出到文件和控制台 --></root></configuration>
  • 如果是只有本地运行或者直接使用jar包运行进行收集日志,配置 logback-spring.xml 就已经可以了,洛阳是使用docker-compose进行启动的服务,所以还要配置一下 docker-compose.yml 进行一下映射,把docker容器内的文件路径挂载到宿主机上边,不然重启容器,所有收集的日志也就没了。(怎么使用docker-compose启动Java服务,请看这里:使用docker运行Java项目)
version:'3.8'services:te:build:.image:tecontainer_name:teenvironment:# 启用远程调试(开发时临时加)-JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8082-JAVA_OPTS=-Xms64m-Xmx192m-XX:MetaspaceSize=48m-XX:MaxMetaspaceSize=96m-XX:+UseG1GC-Djava.security.egd=file:/dev/./urandom-XX:+TieredCompilation-XX:TieredStopAtLevel=1-XX:CICompilerCount=2mem_limit:350mmem_reservation:200mvolumes:-./log:/app/logs# 👈 宿主机路径:容器内路径,日志收集到宿主机里边进行持久化ports:-"8081:8081"-"8082:8082"restart:unless-stopped

结尾

  • 朝花 夕拾
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:29:21

KylinOS安装

百度一下&#xff0c;你就知道 一、安装前核心准备&#xff08;奠定成功基础&#xff09; 1、硬件兼容性校验 优先确认 CPU 架构匹配&#xff1a;国产平台&#xff08;飞腾、鲲鹏、龙芯&#xff09;需选择对应 ARM 架构镜像&#xff0c;传统 PC 选择 x86_64 版本。硬件最低配…

作者头像 李华
网站建设 2026/4/16 12:26:42

用友 新道 U8+ 安装教程

准备工作 开启IIS .NET Framework 3.5 关闭UAC 更改计算机名称 BIGDATA 短日期格式 设置应用程序池 关闭安全软件、防火墙 安装 Seentao U8V15–0525最终版 SQL Server 2016 Service Pack 2 Express SQLServer2016 https://www.microsoft.com/zh-cn/download/details.a…

作者头像 李华
网站建设 2026/4/15 13:43:16

C# 中如何从 URL 下载 Word 文档:基于 Spire.Doc 的高效解决方案

在日常的软件开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;需要从一个指定的 URL 地址下载文件。对于图片、文本文件等&#xff0c;这通常不是一个难题。然而&#xff0c;当涉及到 Word 文档这类复杂的二进制格式时&#xff0c;情况就变得不那么简单了。仅仅将文件下…

作者头像 李华
网站建设 2026/4/16 14:31:55

Loxodon Framework深度实践:Unity MVVM架构的完整指南

Loxodon Framework深度实践&#xff1a;Unity MVVM架构的完整指南 【免费下载链接】loxodon-framework An MVVM & Databinding framework that can use C# and Lua to develop games 项目地址: https://gitcode.com/gh_mirrors/lo/loxodon-framework 在Unity游戏开发…

作者头像 李华
网站建设 2026/4/15 16:43:48

Qt 小技巧合集:QComboBox 的 12 个细节,做完高级感暴涨

平时写 Qt Widgets&#xff0c;我们对 QComboBox 的印象基本就是&#xff1a; 点一下 → 下拉 → 选个值 → 触发 currentIndexChanged() → 做点事。 但如果你做过参数面板、工具软件、工业 HMI、编辑器设置页&#xff0c;你会发现&#xff1a; 下拉框其实还能&#xff1a; 区…

作者头像 李华
网站建设 2026/4/16 12:46:33

28、Vim 自动补全与语法高亮使用指南

Vim 自动补全与语法高亮使用指南 Vim 自动补全方法 Vim 提供了多种自动补全方法,以下是详细介绍: 1. 使用 complete 选项定义匹配搜索范围 :该方法使用 complete 选项来定义匹配搜索的范围。在弹出列表中,可使用 CTRL - N 向前或 CTRL - P 向后移动,高亮选择项,…

作者头像 李华