广告
返回顶部
首页 > 资讯 > 精选 >SpringBoot log打印及输出方式是什么
  • 675
分享到

SpringBoot log打印及输出方式是什么

2023-06-25 16:06:35 675人浏览 八月长安
摘要

这篇文章主要介绍“SpringBoot log打印及输出方式是什么”,在日常操作中,相信很多人在springBoot log打印及输出方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoo

这篇文章主要介绍“SpringBoot log打印及输出方式是什么”,在日常操作中,相信很多人在springBoot log打印及输出方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot log打印及输出方式是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

SpringBoot log打印及输出

导入jar

import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;

代码示例

private final Log log = LogFactory.getLog(AppController.class); //AppController.class为当前class文件,后台会输出这个class文件的log
String input = "%CN%";this.log.info(input);

后台输出日志如下:

SpringBoot log打印及输出方式是什么

日志输出配置

在application.yml文件中添加配置

logging:  path: D:\spring-boot-log   //自定义输出日志的地址

springboot切面技术打印log日志

项目的部分功能需要新增加日志的操作记录,想了一圈还是使用切面技术比较方便解决。 相当于代理,感觉比代理更牛逼。

说一下关键词 自己理解的。

  • @Aspect:把当前类搞成一个切面类,提供容器读取

  • @Pointcut:定义切点,扫描那个包下面的那个类,具体到那个方法。

  • @Around:环绕增强,相当于MethodInterceptor

  • @AfterReturning:后置增强,相当于AfterReturningAdvice,方法正常退出时执行

  • @Before:标识一个前置增强方法,相当于BeforeAdvice的功能,相似功能的还有

  • @AfterThrowing:异常抛出增强,相当于ThrowsAdvice

  • @After:final增强,不管是抛出异常或者正常退出都会执行

mvaen 准备 还有spring家族的

<dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-log4j12</artifactId>            <version>1.7.25</version>        </dependency>

创建 WEBLogAcpect 类

@Aspect@Componentpublic class WebLogAcpect {    private final static Logger orderLog = LoggerFactory.getLogger("order");    //定义切点    @Pointcut("execution(* com.qszhuang.backstage.service.OrderService.updateOrder*(..))")    public void webLog() {    }    @Before("webLog()")    public void doBefore(JoinPoint joinPoint) {        // 接收到请求,记录请求内容        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();        if (!StringUtils.isEmpty(attributes)) {            httpservletRequest request = attributes.getRequest();            // 记录下请求内容            orderLog.info("URL : " + request.getRequestURL().toString());            // orderLog.info("Http_METHOD : " + request.getMethod());            orderLog.info("IP : " + HttpUtil.getIp(request));            //获取操作人            if (!StringUtils.isEmpty(request.getCookies())) {                String cookieValueByName = HttpUtil.getCookieValueByName(request.getCookies(), WebSecurityConfig.TOKEN_HEADER);                Map<String, Claim> strinGClaimMap = TokenUtil.verifyToken(cookieValueByName);                //方法名                // orderLog.info("CLASS_METHOD : " + joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName());                orderLog.info("订单号 : {},操作人:{}", Arrays.toString(joinPoint.getArgs()), stringClaimMap.get("adminUsername").asString());            }        }else {            orderLog.info("整点退款");        }    }    @AfterReturning(returning = "ret", pointcut = "webLog()")    public void doAfterReturning(Object ret) throws Throwable {        // 处理完请求,返回内容        orderLog.info("操作返回值 : " + ret);    }}

配置log4j

创建文件 log4j.properties 打印order 日志到指定目录 当然可以配置多个日志分别保存

log4j.rootLogger=INFO,stdoutlog4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n#log4j.appender.timer_log=org.apache.log4j.DailyRollingFileAppender#log4j.appender.timer_log.Append=true#log4j.appender.timer_log.DatePattern='.'yyyy-MM-dd#log4j.appender.timer_log.File=E:/logs/timer/timer.log#log4j.appender.timer_log.Threshold=INFO#log4j.appender.timer_log.layout=org.apache.log4j.PatternLayout#log4j.appender.timer_log.layout.ConversionPattern=%d - %c [%t] %-5p %c %x %l - %m%nlog4j.logger.order=INFO,order_loglog4j.appender.order_log=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.order_log.Append=truelog4j.appender.order_log.DatePattern='.'yyyy-MM-ddlog4j.appender.order_log.File=../logs/order/order.loglog4j.appender.order_log.Threshold=INFOlog4j.appender.order_log.layout=org.apache.log4j.PatternLayoutlog4j.appender.order_log.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH:mm:ss}] %m%n

到此,关于“SpringBoot log打印及输出方式是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: SpringBoot log打印及输出方式是什么

本文链接: https://www.lsjlt.com/news/306059.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot log打印及输出方式是什么
    这篇文章主要介绍“SpringBoot log打印及输出方式是什么”,在日常操作中,相信很多人在SpringBoot log打印及输出方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoo...
    99+
    2023-06-25
  • SpringBoot log打印及输出方式
    目录SpringBoot log打印及输出导入jar包代码示例日志输出配置springboot切面技术打印log日志mvaen 准备 还有spring家族的创建 WebLogAcpe...
    99+
    2022-11-12
  • php打印输出的区别是什么
    本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。php打印输出的区别是什么一、打印处理print(); // 输出字符串 printf(); // 输出格式化字符串 print_r(); // 以...
    99+
    2016-07-04
    php
  • SpringBoot日志的配置及输出的方法是什么
    这篇文章主要介绍“SpringBoot日志的配置及输出的方法是什么”,在日常操作中,相信很多人在SpringBoot日志的配置及输出的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoo...
    99+
    2023-06-21
  • python格式化输出方法是什么
    本篇内容介绍了“python格式化输出方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#初级版本的格式化输出name =&...
    99+
    2023-06-02
  • Linux部署springboot项目彩色日志打印的方法是什么
    这篇文章主要介绍“Linux部署springboot项目彩色日志打印的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux部署springboot项目彩色日志打印的方法是什么”文章能帮...
    99+
    2023-07-05
  • Log4j关闭Spring和Hibernate日志打印方式是什么
    这篇文章主要介绍“Log4j关闭Spring和Hibernate日志打印方式是什么”,在日常操作中,相信很多人在Log4j关闭Spring和Hibernate日志打印方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-06-22
  • mybatis输出SQL格式化的方法是什么
    这篇文章主要讲解了“mybatis输出SQL格式化的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mybatis输出SQL格式化的方法是什么”吧!mybatis输出SQL格式化通过...
    99+
    2023-06-21
  • Slf4j+logback实现JSON格式日志输出方式是什么
    Slf4j+logback实现JSON格式日志输出方式是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Slf4j+logback实现JSON格式日志输出依赖<de...
    99+
    2023-06-22
  • Python不同格式打印九九乘法的方法是什么
    这篇文章主要介绍“Python不同格式打印九九乘法的方法是什么”,在日常操作中,相信很多人在Python不同格式打印九九乘法的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python不同格式打印九...
    99+
    2023-06-21
  • c语言输出格式转换的方法是什么
    在C语言中,输出格式转换主要通过格式化输出函数`printf()`来实现。`printf()`函数可以根据指定的格式将数据输出到屏幕...
    99+
    2023-10-28
    c语言
  • C语言之素数的判断及输出方法是什么
    这篇文章主要讲解了“C语言之素数的判断及输出方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言之素数的判断及输出方法是什么”吧!C素数(质数)的判断及输出一:质数的判断输入一个大...
    99+
    2023-07-05
  • spyder快捷键与python符号化输出方式是什么
    今天小编给大家分享一下spyder快捷键与python符号化输出方式是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。sp...
    99+
    2023-06-29
  • gateway、webflux、reactor-netty请求日志输出的方式是什么
    本篇内容介绍了“gateway、webflux、reactor-netty请求日志输出的方式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2023-06-29
  • win7文件夹属性位置及打开方式是什么
    本篇内容主要讲解“win7文件夹属性位置及打开方式是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“win7文件夹属性位置及打开方式是什么”吧!win7文件夹属性位置首先找到要查看的文件夹,右...
    99+
    2023-07-01
  • 在SQL PLUS中格式化输出查询结果的方法是什么
    这篇文章主要讲解了“在SQL PLUS中格式化输出查询结果的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在SQL PLUS中格式化输出查询结果的...
    99+
    2022-10-18
  • SpringBoot获取前台参数的方式及统一响应的方法是什么
    本篇内容介绍了“SpringBoot获取前台参数的方式及统一响应的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!请求SpringB...
    99+
    2023-07-05
  • springboot有哪些实现拦截器的方式及异步执行是什么
    这篇文章主要讲解了“springboot有哪些实现拦截器的方式及异步执行是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“springboot有哪些实现拦截器的方式及异步执行是什么”吧!目...
    99+
    2023-06-20
  • Python用3行代码输出花式字符串图集的方法是什么
    本篇内容主要讲解“Python用3行代码输出花式字符串图集的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python用3行代码输出花式字符串图集的方法是什么”吧!字符串图集鼻祖:fi...
    99+
    2023-06-16
  • Golang GinWeb之自定义日志格式和输出方式/启禁日志颜色的方法是什么
    这篇文章主要介绍“Golang GinWeb之自定义日志格式和输出方式/启禁日志颜色的方法是什么”,在日常操作中,相信很多人在Golang GinWeb之自定义日志格式和输出方式/启禁日志颜色的方法是什么问...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作