日志没有输出sql语句错误,怎么能通过arthas实现mybatis的log信息查看?
使用 Arthas 工具可以动态地监控 Java 应用程序,对于 MyBatis 中 SQL 执行的监控,可以通过 Arthas 提供的方法追踪(trace)或 OGNL 表达式等功能来获取 SQL 语句的信息。
以下是使用 Arthas 查看 MyBatis SQL 执行的步骤:
首先确保你的应用已经接入了 Arthas,并且正在运行。
使用 trace
命令来追踪特定方法的执行,通常是 MyBatis 的 Executor 类中的 update
或 query
等方法,这些方法会执行具体的 SQL 语句。
trace [class-pattern] [method-pattern] [-n <排名数量>] [--skipJDKMethod <是否跳过JDK方法>] [--condition <Ognl表达式>] [-e] [--outputFile <输出文件>] [--batch] [--async]
示例:
trace com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor execute --skipJDKMethod false
这样会跟踪 MybatisSimpleExecutor
类的 execute
方法,展示每次调用及其内部执行的 SQL。
如果你知道某个类实例上有 SQL 相关的信息,也可以使用 Arthas 的 OGNL 表达式直接查看变量值。
ognl [expression]
例如,如果有一个 Mapper 实例中有 SQL 字符串,你可以尝试获取这个实例并查看它的 SQL 属性。
org.apache.ibatis.executor.Executor
。总之,通过 Arthas 可以帮助开发者在不修改应用程序配置的情况下,实时观测 MyBatis SQL 的执行情况,这对于排查线上问题非常有帮助。不过,最佳实践仍然是在开发环境中启用详细的 SQL 日志记录,并结合 Arthas 等工具辅助诊断。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。