论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
分布式数据库
›
spring 设置日记
spring 设置日记
种地
论坛元老
|
2025-4-8 14:51:02
|
显示全部楼层
|
阅读模式
楼主
主题
1707
|
帖子
1707
|
积分
5121
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
在 Spring Boot 中,日记配置是
开发
和生产环境的关键部分。以下是
Spring Boot 日记配置的完备指南
,涵盖默认配置、自定义配置、日记框架切换(Logback/Log4j2)及高级用法。
1.
默认日记配置
Spring Boot 默认利用
Logback
作为日记框架,并自动配置以下举动:
•
控制台输出
:日记级别为 INFO 及以上。
•
日记文件
:默认不生成文件(需手动配置)。
•
彩色输出
:终端支持时启用彩色日记。
2.
基础配置(application.properties/application.yml)
(1)设置日记级别
# 设置全局日志级别
logging.level.root=INFO
# 设置特定包或类的日志级别
logging.level.org.springframework=WARN
logging.level.com.example.service=DEBUG
复制代码
(2)输出到文件
# 输出到指定文件(默认路径为项目根目录)
logging.file.name=logs/app.log
# 或指定目录(自动生成 spring.log)
logging.file.path=logs/
复制代码
(3)日记格式
# 控制台日志格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
# 文件日志格式
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
复制代码
3.
高级配置(Logback 扩展)
Spring Boot 支持通过 logback-spring.xml 自定义配置(优先于默认配置)。
(1)创建 logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 控制台输出 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %highlight(%-5level) %cyan(%logger{36}) - %msg%n</pattern>
</encoder>
</appender>
<!-- 文件输出(按天滚动) -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/app-%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory> <!-- 保留30天日志 -->
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 日志级别及输出 -->
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
<!-- 环境敏感配置(如
开发
环境启用 DEBUG) -->
<springProfile name="dev">
<logger name="com.example" level="DEBUG"/>
</springProfile>
</configuration>
复制代码
(2)启用 Profile 特定配置
在 application.properties 中激活 Profile:
spring.profiles.active=dev
复制代码
4.
切换至 Log4j2
(1)排除 Logback,引入 Log4j2
<!-- Maven 配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
复制代码
(2)配置 log4j2-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<RollingFile name="File" fileName="logs/app.log"
filePattern="logs/app-%d{yyyy-MM-dd}.log">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
<DefaultRolloverStrategy max="30"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console"/>
<AppenderRef ref="File"/>
</Root>
<Logger name="com.example" level="DEBUG"/>
</Loggers>
</Configuration>
复制代码
5.
日记配置最佳实践
•
环境区分
:通过 Profile 为
开发
、生产环境配置不同日记级别。
•
日记滚动
:按时间或巨细滚动日记文件,制止单个文件过大。
•
敏感信息过滤
:在日记模式中排除敏感数据(如暗码)。
•
异步日记
:在高并发场景下利用异步 Appender 提升性能(Logback/Log4j2 均支持)。
<!-- Logback 异步日志示例 -->
<appender name="ASYNC_FILE" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="FILE"/>
</appender>
复制代码
6.
常用下令和调试
•
动态调解日记级别
(无需重启):
curl -X POST http://localhost:8080/actuator/loggers/com.example -H 'Content-Type: application/json' -d '{"configuredLevel":"DEBUG"}'
复制代码
•
查看日记端点
(需 spring-boot-actuator):
management.endpoints.web.exposure.include=loggers
复制代码
通过以上配置,你可以灵活控制 Spring Boot 应用的日记举动,适应不同场景需求。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
种地
论坛元老
这个人很懒什么都没写!
楼主热帖
Beta 阶段事后分析
mac下配置Charles,安装证书,连接iOS ...
为什么 SQL 语句使用了索引,但却还是 ...
图的基本术语,邻接矩阵、邻接表表示方 ...
python经典习题(一)
Archlinux scarlett solo driver insta ...
DOS窗口命令和单表简单查询
5.返回值IDCANCEL和CommDlgExtendedErr ...
利用kubernetes中的leader选举机制来完 ...
MySQL实战45讲 10
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
主机安全
公有云
虚拟化与私有云
Postrge-SQL技术社区
Oracle
备份
图数据库
运维.售后
Mysql
快速回复
返回顶部
返回列表