anylog java动态日志注入工具开源项目

我要开发同款
匿名用户2015年10月10日
115阅读

技术信息

开源地址
https://github.com/gliderlabs/logspout
授权协议
Apache

作品详情

aylog是一个可以在代码的任意区域无入侵地加入日志的工具,适用于线上问题排查。

aylog为开发人员提供一个易于使用的平台,帮助开发人员在正在运行的系统中随时加入自己想要的日志,而免于修改代码和重启。

使用场景举例    1、一些同学在写代码时,把异常吃掉了,使得问题难以查找,可以使用这个工具,动态打印出被吃掉        的异常,而不用停机。    2、一些项目依赖第三方jar包,如果发生问题,但第三方包中无日志打印,以往可能需要重新编译第        三方包,加上日志,重启服务,然后排查问题。但使用这个工具,就可以直接动态加入日志,而不用        修改第三方jar包,也不用重启。已有功能    1、让系统打印某个exceptio的堆栈,无论此exceptio是否已经被吃掉都可打印    2、在某个指定类的某个方法的某一行,输出日志。    3、在某个指定类的某个方法的开始,输出日志。    4、在某个指定类的某个方法的结束,输出日志。      5、打印方法耗时,支持方法嵌套。    如果需要扩展新的功能(例如输出jvm的cpu占用,内存大小等),只需要实现spi中的    com.github.jobop.aylog.spi.TrasformDescriptor     和com.github.jobop.aylog.spi.TrasformHadler接口,    然后把实现的jar包放到providers目录中即可识别。使用方法    1、获取运行程序:        1)可以到以下地址获取正式发行版:https://github.com/jobop/release/tree/master/aylog        2)你也可以cloe下源码后,执行如下命令,生成运行程序,生成的运行程序将在dist目录下            生成widows版本:  mv istall            生成liux版本:  mv istall -Pliux    2、直接执行startup.bat或者startup.sh即可运行起来    3、访问 https://127.0.0.1:52808 即可使用功能扩展    aylog利用spi机制实现其扩展,如果你想要对aylog增加新的功能(例如添加返回值打印的功能)可以按照如下步骤操作:    1、使用如下命令,生成一个spi实现工程,并导入eclipse    mv archetype:geerate -DarchetypeGroupId=com.github.jobop -DarchetypeArtifactId=aylogspi-archetype -DarchetypeVersio=1.0.4    2、参照该工程中已有的两个例子(一个是在方法开始插入日志,一个是在方法结束插入日志),实现TrasformDescriptor和TrasformHadler接口    3、把两个接口实现类的全路径,分别加到以下两个文件中        src/mai/resources/META-INF/services/com.github.jobop.aylog.spi.TrasformDescriptor        src/mai/resources/META-INF/services/com.github.jobop.aylog.spi.TrasformHadler    4、执行mv istall打包,在dist下会生成你的扩展实现jar。    5、把扩展实现jar拷贝到aylog的providers目录下,重启即可生效。    tips:在实现spi时,我们提供了SpiDesc注解,该注解作用在你实现的TrasformDescriptor上,可以用来生成功能描述文字。         如果要深入了解spi机制,请自行google:java spi

功能介绍

anylog 是一个可以在代码的任意区域无入侵地加入日志的工具,适用于线上问题排查。 anylog 为开发人员提供一个易于使用的平台,帮助开发人员在正在运行的系统中随时加入自己想要的日志,而免于...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论