[alibaba/arthas]arthas-out 和 logs 目录怎么自定义

2024-08-05 825 views
2
环境信息
  • arthas-boot.jar 的版本:3.6.7
  • Arthas 版本: 3.6.7
重现问题的步骤

我在论坛查了很多资料,没有提到arthas-out 和 logs 目录怎么自定义

期望的结果

我想将arthas-out 和 logs 目录自定义创建到我指定目录下,请问有什么方法吗?

回答

7

如果是通过执行arthas-boot.jar的,~/.arthas/lib/3.x.x/arthas/这个路径下会存在两个文件arthas.propertieslogback.xml 优先级为arthas.properties>logback.xml

1.修改logs目录的路径 方法1:修改arthas.properties 添加配置arthas.logging.file.path,指定具体arthas.log的目录。 方法2:修改logback.xml 如下图所示,修改ARTHAS_LOG_PATH的内容 image 2.修改arthas-out目录的路径 修改arthas.properties 添加配置arthas.outputPath,指定具体的arthas-out的目录。

8

感谢!MissingNone 我按照您给的方法去重新定义logs目录和arthas-out目录,是可行的

我遇到的问题:logs目录路径修改后,执行arthas-boot.jar 出现了两个logs文件,一个是$HOME/logs/arthas.log, 还有一个是我自定义的others/logs/arthas.log目录。

期望的结果:可以把$HOME/logs/arthas.log 这部分日志输出自定义到我指定的路径下吗?

$HOME/logs/arthas.log 输出日志信息如下: Arthas server agent start... Arthas server already bind. Arthas server agent start... Arthas server already bind.

others/logs/arthas.log 输出日志信息如下: 2022-12-13 16:51:01 [arthas-binding-thread] INFO c.t.arthas.core.util.ArthasBanner -Current arthas version: 3.6.7, recommend latest version: 3.6.7 2022-12-13 16:51:01 [arthas-binding-thread] INFO c.t.arthas.core.util.ArthasBanner -Current arthas version: 3.6.7, recommend latest version: 3.6.7 2022-12-13 16:51:01 [arthas-binding-thread] INFO c.t.a.core.server.ArthasBootstrap -try to bind telnet server, host: 127.0.0.1, port: 3658. 2022-12-13 16:51:01 [arthas-binding-thread] INFO c.t.a.core.server.ArthasBootstrap -try to bind http server, host: 127.0.0.1, port: 8563. 2022-12-13 16:51:01 [arthas-NettyHttpTelnetBootstrap-3-1] INFO c.a.a.d.i.n.h.logging.LoggingHandler -[id: 0xbbf1ef57] REGISTERED 2022-12-13 16:51:01 [arthas-NettyHttpTelnetBootstrap-3-1] INFO c.a.a.d.i.n.h.logging.LoggingHandler -[id: 0xbbf1ef57] BIND: /127.0.0.1:3658 2022-12-13 16:51:01 [arthas-NettyHttpTelnetBootstrap-3-1] INFO c.a.a.d.i.n.h.logging.LoggingHandler -[id: 0xbbf1ef57, L:/127.0.0.1:3658] ACTIVE 日志太长省略。。。

8

输出在{user.home}/logs/arthas.log 这部分的日志是arthas-agent输出的,这部分的日志是固定输出到{user.home}/logs/arthas.log这个路径下的。

在不重新打包的情况下,没有太好的方法去做修改。最直接的方式是修改源码,具体代码位于com.taobao.arthas.agent334.AgentBootstrap这个类的27-52行的内容。@haow-z image

7

感谢!!按照您的给的建议,我修改了源码到我指定的目录下,arthas-agent输出到该目录。@MissingNone