news 2026/8/3 9:40:11

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/8/2 14:34:27

仿生记忆革命:字节跳动AHN技术突破大模型长文本处理瓶颈

仿生记忆革命&#xff1a;字节跳动AHN技术突破大模型长文本处理瓶颈 【免费下载链接】AHN-DN-for-Qwen-2.5-Instruct-14B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/AHN-DN-for-Qwen-2.5-Instruct-14B 导语 字节跳动推出的人工海马体网络&#xff…

作者头像 李华
网站建设 2026/8/2 16:30:06

云服务器新手必看:常见名词和知识整理,一文搞懂

第一次购买云服务器&#xff0c;面对控制台里一堆术语&#xff0c;很容易一头雾水。 内存、带宽、系统盘、按流量计费……这些词到底什么意思&#xff1f; 选错一项&#xff0c;可能多花钱&#xff0c;甚至影响网站运行。 今天我们就结合国内主流云厂商选择界面&#xff0c; 用…

作者头像 李华
网站建设 2026/8/2 15:31:09

雷电预警监测系统:储油罐雷电监测预警系统​

一、核心原理篇&#xff1a;FT-LD1怎么提前预判雷电&#xff1f;为啥能减少误报&#xff1f;​ 提问&#xff1a;系统靠什么在雷击前预警&#xff1f;电荷感应原理 MEMS 技术到底是什么&#xff1f;​ 小助手答&#xff1a;从源头捕捉雷电信号&#xff0c;预警有科学依据&…

作者头像 李华
网站建设 2026/8/2 10:48:41

冰点还原安装破解

Version&#xff1a;DeepFreeze_8.62.220.5630_标准版 安装安装软件&#xff0c;安装进入到许可证密钥界面不填写&#xff0c;打钩使用评估版&#xff0c;点击下一步直到安装完毕重启&#xff1b; 按住键盘Shift键 -> 鼠标点击托盘冰点图标调出控制台 -> 选择启动后解冻下…

作者头像 李华
网站建设 2026/8/1 18:23:42

腾讯混元Hunyuan-A13B:智能体技术突破与800亿参数MoE架构的完美融合

腾讯混元Hunyuan-A13B&#xff1a;智能体技术突破与800亿参数MoE架构的完美融合 【免费下载链接】Hunyuan-A13B-Instruct Hunyuan-A13B-Instruct是一款基于混合专家架构的开源大语言模型&#xff0c;以13亿活跃参数实现媲美更大模型的卓越性能。其独特之处在于支持快慢双思维模…

作者头像 李华