Arthas Logger

Arthas 用户文档 — Arthas 3.5.4 文档

1、通过sc命令查看JVM已加载的类信息,拿到classLoaderHash

 

命令:sc -d [查找类的全路径] | grep classLoaderHash
示例:

sc -d com.github.smallAttr.facade.ResourceFacade | grep classLoaderHash

sc -d com.demo.components.MyTestService | grep classLoaderHash

2、查看指定类中log声明的静态成员变量,确定当前类的日志级别(可省略)

命令:getstatic [查找类的全路径] [log静态成员变量]
示例:

getstatic com.github.smallAttr.facade.ResourceFacade log

getstatic com.demo.components.MyTestService logger

3、通过logger命令查看,执行命令后不会输出任何信息,但是不能省略,logger命令相对不太完善

命令:logger --name [查找类的全路径]
示例:

logger --name com.github.smallAttr.facade.ResourceFacade

4、更新指定类日志级别

命令:logger -c [classLoaderHash的值] --name [查找类的全路径] --level [待更新的日志level]
示例:

logger -c 1c20c684 --name com.github.smallAttr.facade.ResourceFacade --level info

logger -c 14dad5dc --name com.demo.components.MyTestService --level debug

5、

--关闭当前会话,但是不关闭artha进程(关闭,用Stop) exit

tail查看工程的日志信息,类的日志级别生效

重新进入athena下 telnet 127.0.0.1 3658