首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在应用程序中记录GC信息

在应用程序中记录GC信息
EN

Stack Overflow用户
提问于 2012-04-11 19:34:33
回答 2查看 3K关注 0票数 11

有没有办法将垃圾收集信息(例如,-XX:+PrintGCDetails-verbose:gc的输出)转发到Java应用程序中的记录器(在我的例子中是sl4j+ logback )?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-20 22:52:26

这些消息是由JVM本机进程生成的,而不是从Java代码生成的,因此您可以

使用

(无旋转)

  1. 将输出重定向到文件

直接使用

  1. 管道标准输出(多个旋转选项)

票数 6
EN

Stack Overflow用户

发布于 2016-02-26 22:29:23

一种有趣的方法是将gc.log重定向到命名管道-Xloggc:/my/named/pipe How to write GC log to named pipe

然后从应用程序本身读取该管道:How to open a Windows named pipe from Java?

并从代码中记录到任意(例如异步滚动) logback记录器。

我在Windows机器上试过了。不幸的是,在Windows上安装比在Linux上更难。

在Windows上,它基本上是通过一个额外的Powershell script (也可以是一个专用的应用程序)来工作的。此sample project还包含一个演示应用程序,可以立即使用它来测试通过SLF4J重定向到Logback的GC日志。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10105088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档