关于springboot项目中的不同环境下的日志级别配置(附源码,基于logback)
发布日期:2021-06-29 13:14:05
浏览次数:2
分类:技术文章
本文共 7950 字,大约阅读时间需要 26 分钟。
Logback旨在作为流行的log4j项目的后继者,从。
Logback的体系结构足够通用,可以应用在不同的情况下。目前,logback分为三个模块:logback-core,logback-classic和logback-access。
logback-core模块为其他两个模块奠定了基础。logback-classic模块可以与log4j的显着改进版本同化。此外,经典的logback原生实现了因此您可以轻松地在logback和其他日志框架(例如log4j或java.util.logging(JUL))之间来回切换。
logback-access模块与Servlet容器(例如Tomcat和Jetty)集成,以提供HTTP访问日志功能。请注意,您可以轻松地在logback-core之上构建自己的模块。
话不多说,先上配置文件:
logback.xml
${CONSOLE_LOG_PATTERN} ${log.path}/sys-info.log ${log.path}/sys-info.%d{yyyy-MM-dd}.log 60 ${log.pattern} INFO ACCEPT DENY ${log.path}/sys-error.log ${log.path}/sys-error.%d{yyyy-MM-dd}.log 60 ${log.pattern} ERROR ACCEPT DENY ${log.path}/sys-user.log ${log.path}/sys-user.%d{yyyy-MM-dd}.log 60 ${log.pattern}
logback-dev.xml
logback-prd.xml
logback-test.xml
WebLogAspect.java
package cn.changemax.usercenter.aspect;import net.sf.json.JSONObject;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.*;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Component;import org.springframework.web.context.request.RequestContextHolder;import org.springframework.web.context.request.ServletRequestAttributes;import javax.servlet.http.HttpServletRequest;import java.util.Arrays;/** * 功能描述: aop处理日志切面 */@Aspect@Componentpublic class WebLogAspect { private Logger logger = LoggerFactory.getLogger(WebLogAspect.class); private ThreadLocalstartTime = new ThreadLocal<>(); @Pointcut("execution(public * cn.changemax.usercenter.controller.*.*(..))") public void webLog() { } @Before("webLog()") public void deBefore(JoinPoint joinPoint){ // 接收到请求,记录请求内容 ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); // 打印请求相关参数 logger.info("========================================== Start =========================================="); // 打印请求URL logger.info("URL : {}", request.getRequestURL().toString()); // 打印http method logger.info("HTTP Method : {}", request.getMethod()); // 打印调用controller的全路径以及执行方法 logger.info("Class Method : {}.{}", joinPoint.getSignature().getDeclaringType(), joinPoint.getSignature().getName()); // 打印请求的IP logger.info("IP : {}", request.getRemoteAddr()); // 打印请求入参 logger.info("Request Args : {}", Arrays.toString(joinPoint.getArgs())); } @After("webLog()") public void doAfter(){ logger.info("=========================================== End ==========================================="); // 每个请求之间空一行 logger.info(""); } @Around("webLog()") public Object doAround(ProceedingJoinPoint proceedingJoinPoint) throws Throwable{ long startTime = System.currentTimeMillis(); Object result = proceedingJoinPoint.proceed(); // 打印出参 logger.info("Response Args : {}", JSONObject.fromObject(result).toString()); // 执行耗时 logger.info("Time-Consuming : {} ms", System.currentTimeMillis() - startTime); return result; }}
完成以上配置后,我们只需要在application.yml配置文件中配置对应的logging就是:
logging: # config: classpath:logback-dev.xml level: cn.changemax.*: debug
转载地址:https://changemax.blog.csdn.net/article/details/102459333 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月25日 15时06分39秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
ordfilt2函数功能说明
2019-04-29
在图像变换中用最小二乘法求解仿射变换参数
2019-04-29
软件包应用分享|基于RT-Thread的百度语音识别(一)
2019-04-29
12月8日 RCEA - RT-Thread能力认证考试考前通知
2019-04-29
论坛热贴 | RT-Thread音频驱动开发(一)
2019-04-29
基于 Keil MDK 移植 RT-Thread Nano
2019-04-29
【报名截至今晚】12月14日深圳嵌入式与音频开发专题会议预告
2019-04-29
移植 RT-Thread Nano 到 RISC-V
2019-04-29
软件包应用分享|基于RT-Thread的百度语音识别(二)
2019-04-29
在 RT-Thread Nano 上添加控制台与 FinSH
2019-04-29
一站式开发工具:RT-Thread Studio 正式发布
2019-04-29
留言有礼|谢谢你悄悄点了小星星,让我们跃居GitHub RTOS Star榜第一
2019-04-29
功能更新!C 函数也能在 MicroPython 中被调用啦
2019-04-29
东软载波携ES32+RT-Thread走进海尔集团
2019-04-29
今晚8点直播预告:RT-Thread Studio等相关主题答疑
2019-04-29
物联网 20 年简史大揭秘!
2019-04-29
开源项目|RT-Thread 软件包应用作品:水墨屏桌面台历
2019-04-29
珠联璧合!基于i.MX RT和RT-Thread的物联网云接入方案
2019-04-29
基于RTT-MicroPython制作自带BGM的新型肺炎晴雨表
2019-04-29