首页 > 解决方案 > 我如何控制 Perfino 代理日志记录行为

问题描述

有什么方法可以控制或禁用 perfino 代理的日志记录?Perfino 代理将日志文件存储在运行它的 docker 容器中,这/opt/namename/.perfino/log/<name_provided_in_VM_parameter>.log在我的用例中是一个问题。容器运行存储应用程序的tomcat。日志似乎没有存储任何有用或重要的内容,因为在我删除它之后,我在 perfino UI 中没有看到任何问题。我在perfino 文档中没有看到任何有关记录代理的信息. 关于这个问题最奇怪的是我在一个应用程序(我们称之为 APP_1)​​上注意到它,但在另一个应用程序(我们称之为 APP_2)上,使用与 tomcat 类似的图像,它不会发生。在APP_2中奇怪地更改JDK和tomcat版本会导致产生麻烦的日志。我尝试在 APP_1 中使用 JDK 8 和 tomcat 8.5(因为此配置在 APP_2 中使用并且它不会生成日志),但它并没有改变任何事情。我在 下找到了一个配置文件/opt/namename/.perfino/config/g=<nameOfApplication>.cfg,但我没有注意到有关日志记录的信息(它的可读性不是很高,我假设它不会手动更改)。

所以在这个有点长的介绍之后,我的问题是:有没有办法控制 perfino 代理的日志记录?也许通过 logback 或 tomcat 配置,因为我看不到使用 perfino UI 或设置的配置方式。

部分日志文件:

inst> com.perfino.agent.e.a.e.<init>(ejt:170)
inst> com.perfino.agent.e.a.e.<init>(ejt:153)
inst> com.perfino.agent.e.a.a(ejt:223)
inst> com.perfino.agent.e.i.transform(ejt:83)
inst> java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:246)
inst> java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
inst> java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:563)
inst> java.management/sun.management.Util.newObjectName(Util.java:52)

标签: javadockertomcatperfino

解决方案


您可以通过附加,logEnabled=false-javaagentVM 参数来禁用日志记录。

可以通过附加来指定不同的日志文件,logFile=<path to log file>


推荐阅读