java - 我如何控制 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)
解决方案
您可以通过附加,logEnabled=false
到-javaagent
VM 参数来禁用日志记录。
可以通过附加来指定不同的日志文件,logFile=<path to log file>
。
推荐阅读
- php - 试图获取非对象的属性“uid”
- java - Apache Pulsar - 时间戳的 Consumer.seek() 方法的行为是什么?
- python - Python:从 pyqt5 拖到文件夹/桌面
- sql - 使用 Azure SQL-db 安排 SQL 查询以将数据从一个表移动到另一个表
- angular - 错误:模块“NgxMatColorPickerModule”导出的意外值“未定义”
- microsoft-graph-api - 从 Microsoft Graph Api 获取 400 错误请求以获取 SchemaExtensions
- node.js - 无法使用 node.js 和 mongodb 以同步方式调用函数
- html - 如果我在父 div 上使用“转换”,则混合混合模式不起作用
- r - 如何通过合并 R 中不同数据框中具有相同名称的列来创建新数据框?
- python - Keras 功能 API 从带有 LSTM 层的 Keras Sequential API 产生不同的结果