logbak日志单独打印(方法层级)

logbak日志单独打印

问题

前几天朋友在群里问,怎么针对方法打印打印日志,不是针对类。

解决办法

方法层
   @GetMapping("getLog1")public String getLog1(){Logger specialLogger = LoggerFactory.getLogger(TestController.class.getName() + ".getLog1");specialLogger.info("Special log message for methodWithSpecialLogging");return "success";}
logback 配置文件
    <logger name="com.test.controller.TestController.getLog1" level="INFO"><appender-ref ref="getLog1" /></logger><appender name="getLog1" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_HOME}/%d{yyyy-MM-dd}/getLog.%d{yyyy-MM-dd-HH}.%i.log</fileNamePattern><MaxHistory>10</MaxHistory><maxFileSize>200MB</maxFileSize></rollingPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} %-5level [%X{REQUEST_IP}][%X{TRACE_ID}][%thread][%file:%line] : %msg%n</pattern></encoder></appender>

这一步已经做到根据方法打印log日志,但是朋友的具体需求竟然是针对每调用一次方法,生成一个配置文件

直接在方法层实现

每调用一次,输出一份文件

  @GetMapping("getLog")public String getLog(){// 创建新的 Logger 实例Logger logger = LoggerFactory.getLogger(TestController.class);// 获取 Logger 的上下文ch.qos.logback.classic.Logger logbackLogger = (ch.qos.logback.classic.Logger) logger;ch.qos.logback.classic.LoggerContext loggerContext = logbackLogger.getLoggerContext();// 设置该 Logger 实例的 Appender,即日志输出到单独的文件中ch.qos.logback.core.FileAppender<ch.qos.logback.classic.spi.ILoggingEvent> fileAppender = new ch.qos.logback.core.FileAppender<>();fileAppender.setFile("path/getLog_" + System.currentTimeMillis() + ".log");fileAppender.setContext(loggerContext);fileAppender.start();// 将 Appender 添加到 Logger 实例中logbackLogger.addAppender(fileAppender);// 设置日志级别logbackLogger.setLevel(Level.INFO);// 输出日志logger.info("Special log message for methodWithSpecialLogging");return "success";}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/696727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能_CPU安装运行ChatGLM大模型_ChatGlm-6B_启动命令行对话_安装API调用接口_005---人工智能工作笔记0100

然后我们再进入 /data/module/ChatGLM-6B-main文件夹 然后我们去启动,命令行工具 python3 cli_demo.py 可以看到也是可以用了. 正常可以用了. 然后主要来看,如何使用api来调用呢,这样才可以,做自己的界面 可以看到就非常简单了只需要: 走到 /data/module/

9-1 A. 图综合练习--构建邻接表

题目描述 已知一有向图&#xff0c;构建该图对应的邻接表。 邻接表包含数组和单链表两种数据结构&#xff0c;其中每个数组元素也是单链表的头结点&#xff0c;数组元素包含两个属性&#xff0c;属性一是顶点编号info&#xff0c;属性二是指针域next指向与它相连的顶点信息。 单…

即时设计和sketch对比

在设计领域&#xff0c;有很多易于使用的设计软件&#xff0c;每个软件都有自己的特点&#xff0c;但在使用中也会有一些限制。例如&#xff0c;传统的Sketch。Sketch是一款古老的UI设计软件。自2010年推出以来&#xff0c;已有10多年的历史&#xff0c;但它始终仅限于MAC。到目…

深入理解Spring Boot Starter:概念、特点、场景、原理及自定义starter

这是目录 **一、引言****二、Spring Boot Starter基本概念****三、Spring Boot Starter的主要特点****四、Spring Boot Starter的应用场景****五、Spring Boot Starter的实现原理****六、自定义spring boot starter****为什么要创建自定义Starter&#xff1f;****创建自定义Spr…

【JS逆向学习】同花顺(q.10jqka)补环境

逆向目标 目标网址&#xff1a;https://q.10jqka.com.cn/ 目标接口&#xff1a; https://q.10jqka.com.cn/index/index/board/all/field/zdf/order/desc/page/3/ajax/1/ 目标参数&#xff1a;cookie 逆向过程 老规矩&#xff0c;先分析网络请求&#xff0c;发现是 cookie 加…

matlab代码--基于matlabLDPC-和积译码系统

LDPC编码 一个码长为n、信息位个数为k的线性分组码&#xff08;n,k&#xff09;可以由一个生成矩阵 来定义&#xff0c;信息序列 通过G被映射到码字XS.G。线性分组码也可以由一个校验矩阵 来描述。所以码字均满足 。校验矩阵的每一行表示一个校验约束 &#xff0c;其中所有的非…

一文吃透计算机网络面试八股文

面试网站&#xff1a;topjavaer.cn 目录&#xff1a; 网络分层结构三次握手两次握手可以吗&#xff1f;四次挥手第四次挥手为什么要等待2MSL&#xff1f;为什么是四次挥手&#xff1f;TCP有哪些特点&#xff1f;说说TCP报文首部有哪些字段&#xff0c;其作用又分别是什么&…

Autochip rtos videoin enqueuedequeue

vBackcarMainTask 目录 xBCModulesInit 初始化videoin xVideoinHwInit 初始创建mipi 初始化线程 vis_init 初始化g_vis_ctrl 配置mipi 初始化参数 xVideoinFillParam获取sensor驱动配置的分辨率 xVideoinHwGetInfo 配置分辨率 vendor/autochips/proprietary/tinysys/vis…

python第七节:条件、循环语句(1)

条件语句 语法&#xff1a; 基本语法1&#xff1a; if 判断条件&#xff1a; 执行语句…… else&#xff1a; 执行语句…… 基本语法2&#xff1a; if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif 判断条件3: 执行语句3…… else: 执行语句4…… 如何…

电阻知识详解

基本介绍 电阻阻碍电流流动&#xff1a;只要有电流流过电阻&#xff0c;就会产生功率损耗 基本单位&#xff1a;欧姆&#xff0c;Ω 换算单位&#xff1a;微欧&#xff08;uΩ&#xff09;、毫欧&#xff08;mΩ&#xff09;、千欧&#xff08;kΩ&#xff09;、兆欧&#x…

Python在生物信息学中的应用:序列化Python对象

我们需要将Python对象序列化为字节流&#xff0c;这样就可以将其保存到文件中、存储到数据库中或者通过网络连接进行传输。 解决方案 序列化最普遍的做法是使用 pickle 模块。为了将一个对象保存到一个文件中&#xff0c;可以这样做&#xff1a; import pickledata ... # Some…

字典树相关例题题解

一.P2580 于是他错误的点名开始了 这道题也类似于模版题&#xff0c;只要我们熟悉插入和查找的过程&#xff0c;一样可以解决&#xff0c;这里只要注意一下第一次出现和其它次出现所输出是不一样的&#xff0c;这里我们只要在查找函数中返回不同的值&#xff0c;这样就可以解决…

GEE案例——计算赶着大米、棉花和小麦等农作物的氨气排放量(含风速计算)

简介 氨气是一种在农业生产中广泛存在的气体,主要是由肥料和畜禽粪便的分解过程中释放出来的。氨气对环境和生物健康造成了负面影响,所以准确计算农作物的氨气排放量非常重要。下面是一个关于如何计算赶着大米、棉花和小麦等农作物的氨气排放量的文档,希望对你有帮助。 第…

MySQL优化之SQL优化详解

(/≧▽≦)/~┴┴ 嗨~我叫小奥 ✨✨✨ &#x1f440;&#x1f440;&#x1f440; 个人博客&#xff1a;小奥的博客 &#x1f44d;&#x1f44d;&#x1f44d;&#xff1a;个人CSDN ⭐️⭐️⭐️&#xff1a;传送门 &#x1f379; 本人24应届生一枚&#xff0c;技术和水平有限&am…

Laravel01 课程介绍以及Laravel环境搭建

Laravel01 课程介绍 1. Laravel2. mac开发环境搭建(通过Homebrew)3. 创建一个项目 1. Laravel 公司中面临着PHP项目与Java项目并行&#xff0c;所以需要我写PHP的项目&#xff0c;公司用的框架就是Laravel&#xff0c;所以在B站上找了一门课学习。 Laravel中文文档地址 https…

leetcode hot 100最后一块石头重量Ⅱ

在本题中&#xff0c;我们可以知道&#xff0c;是要求最后石头返还的重量&#xff0c;也就是&#xff0c;将整个数组分割成两个子集&#xff0c;求让两个子集的差值最小。这和上一道分割整数集类似&#xff0c;只是需要我们返回差值。所以我们采用动态规划01背包来做&#xff0…

象棋笔记()

文章目录 布局要点子力及优缺点术语棋谱残局杀法铁门栓平顶冠大刀剜心 布局顺手炮 邪门布局敢死炮应对敢死炮 一直是个象棋爱好者&#xff0c;水平虽然十八线&#xff0c;但是梦想吊打公园大爷&#xff0c;做个笔记吧。 布局要点 1、快速出动大子 2、车路要通 3、活通马路 4、…

vue+element下日期组件momentjs转换赋值问题

记录下使用momentjs转换日期字符串赋值给element的日期组件报错问题&#xff1b; <el-date-pickerv-model"form.serviceTime"type"date"class"fill-w mar-t-xs"value-format"yyyy-MM-dd HH:mm:ss"placeholder"请选择日期&quo…

StarRocks加速查询——低基数全局字典

前言 StarRocks-2.0引入了低基数全局字典&#xff0c;可以通过全局字典将字符串的相关操作转换成整型相关操作&#xff0c;极大提升了查询性能。StarRocks 2.0后的版本默认会开启低基数字典优化。 一、低基数字典 对于利用整型替代字符串进行处理&#xff0c;通常使用字典编码…

穿越Redis单线程迷雾:从面试场景到技术内核的解读

目录 ​编辑 前言 Redis中的多线程 I/O多线程 Redis中的多进程 结论 延伸阅读 前言 很多人都遇到过这么一道面试题&#xff1a;Redis是单线程还是多线程&#xff1f;这个问题既简单又复杂。说他简单是因为大多数人都知道Redis是单线程&#xff0c;说复杂是因为这个答案…