通过Arthas来动态打印日志

栏目: 数据库 · 发布时间: 6年前

内容简介:需求线上一个Spring boot应用 通过MyBatis来操作数据库 定位一个线上问题 想动态打印sql日志解决

需求

线上一个Spring boot应用 通过MyBatis来操作数据库 定位一个线上问题 想动态打印 sql 日志

解决

通过 Arthas工具 来实现上述的需求

$ ognl '@org.slf4j.LoggerFactory@getLogger("com.foo.cpts.mapper")'
@Logger[
    serialVersionUID=@Long[5454405123156820674],
    FQCN=@String[ch.qos.logback.classic.Logger],
    name=@String[com.foo.cpts.mapper],
    level=null,
    effectiveLevelInt=@Integer[20000],
    parent=@Logger[Logger[com.foo.cpts]],
    childrenList=@CopyOnWriteArrayList[isEmpty=false;size=2],
    aai=null,
    additive=@Boolean[true],
    loggerContext=@LoggerContext[ch.qos.logback.classic.LoggerContext[default]],
]

刚开始Mapper包对应的日志级别是null 将其改成DEBUG

$ ognl '@org.slf4j.LoggerFactory@getLogger("com.foo.cpts.mapper").setLevel(@ch.qos.logback.classic.Level@DEBUG)'
null

$ ognl '@org.slf4j.LoggerFactory@getLogger("com.foo.cpts.mapper")'
@Logger[
    serialVersionUID=@Long[5454405123156820674],
    FQCN=@String[ch.qos.logback.classic.Logger],
    name=@String[com.foo.cpts.mapper],
    level=@Level[DEBUG],
    effectiveLevelInt=@Integer[10000],
    parent=@Logger[Logger[com.foo.cpts]],
    childrenList=@CopyOnWriteArrayList[isEmpty=false;size=2],
    aai=null,
    additive=@Boolean[true],
    loggerContext=@LoggerContext[ch.qos.logback.classic.LoggerContext[default]],
]

此时当调用Mapper方法时 能打印出sql日志了 同样关闭sql日志 改成info即可

$ ognl '@org.slf4j.LoggerFactory@getLogger("com.foo.cpts.mapper").setLevel(@ch.qos.logback.classic.Level@INFO)'
null

补充

因为打印sql日志对应的配置是

logging.level.com.foo.cpts.mapper=DEBUG

刚开始想着通过下面的方式来实现

ognl '@java.lang.System@setProperty("logging.level.com.foo.cpts.mapper","DEBUG")'

但是该方式并未起作用


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深度学习

深度学习

[美] 伊恩·古德费洛、[加] 约书亚·本吉奥、[加] 亚伦·库维尔 / 赵申剑、黎彧君、符天凡、李凯 / 人民邮电出版社 / 2017-7-1 / 168

《深度学习》由全球知名的三位专家Ian Goodfellow、Yoshua Bengio 和Aaron Courville撰写,是深度学习领域奠基性的经典教材。全书的内容包括3个部分:第1部分介绍基本的数学工具和机器学习的概念,它们是深度学习的预备知识;第2部分系统深入地讲解现今已成熟的深度学习方法和技术;第3部分讨论某些具有前瞻性的方向和想法,它们被公认为是深度学习未来的研究重点。 《深度......一起来看看 《深度学习》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具