SpringBoot log打印及输出方式是什么
发表于:2025-02-19 作者:千家信息网编辑
千家信息网最后更新 2025年02月19日,这篇文章主要介绍"SpringBoot log打印及输出方式是什么",在日常操作中,相信很多人在SpringBoot log打印及输出方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
千家信息网最后更新 2025年02月19日SpringBoot log打印及输出方式是什么
这篇文章主要介绍"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);
后台输出日志如下:
日志输出配置
在application.yml文件中添加配置
logging: path: D:\spring-boot-log //自定义输出日志的地址
springboot切面技术打印log日志
项目的部分功能需要新增加日志的操作记录,想了一圈还是使用切面技术比较方便解决。 相当于代理,感觉比代理更牛逼。
说一下关键词 自己理解的。
@Aspect
:把当前类搞成一个切面类,提供容器读取@Pointcut
:定义切点,扫描那个包下面的那个类,具体到那个方法。@Around
:环绕增强,相当于MethodInterceptor@AfterReturning
:后置增强,相当于AfterReturningAdvice,方法正常退出时执行@Before
:标识一个前置增强方法,相当于BeforeAdvice的功能,相似功能的还有@AfterThrowing
:异常抛出增强,相当于ThrowsAdvice@After
:final增强,不管是抛出异常或者正常退出都会执行
mvaen 准备 还有spring家族的
org.slf4j slf4j-log4j12 1.7.25
创建 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); MapstringClaimMap = 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打印及输出方式是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
输出
日志
方法
方式
文件
学习
配置
内容
切面
功能
切点
后台
技术
更多
代理
帮助
实用
相似
接下来
代码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京电商软件开发供应商
技嘉服务器出货量
属于敏捷软件开发方式的有
数据库关联删除数据
海纳科技互联网有限公司
网络安全管理考试内容
如何建立文献 数据库
武川软件开发
第二次网络安全委员会
中智软件开发有限公司股东
山西网通dns服务器
青芷柠源神奇宝贝服务器地址
中宏数据库中文期刊论文
数据库工程师中级试题
修改照片软件开发
湖北服务器防火墙代理商
服务器统一管理软件bmc
关于网络安全的知识都有哪些
文件服务器在哪里
河北英雄联盟服务器云空间
网络安全高峰论坛
lol突然登陆不了服务器
服务器ip屏蔽软件
销售串口终端服务器公司
宝马精简数据库
bde数据库驱动程序 7m
数据库工程师中级试题
健康管理师数据库备案怎么办
软件开发考研报考什么专业
投资模拟器软件开发