Logging is a significant programming practice. Due to the highly transactional nature of modern software applications, massive amount of logs are generated every day, which may overwhelm developers. Logging information overload can be dangerous to software applications. Using log levels, developers can print the useful information while hiding the verbose logs during software runtime. As software evolves, the log levels of logging statements associated with the surrounding software feature implementation may also need to be altered. Maintaining log levels necessitates a significant amount of manual effort. In this paper, we demonstrate an automated approach that can rejuvenate feature log levels by matching the interest level of developers in the surrounding features. The approach is implemented as an open-source Eclipse plugin, using two external plug-ins (JGit and Mylyn). It was tested on 18 open-source Java projects consisting of ~3 million lines of code and ~4K log statements. Our tool successfully analyzes 99.22% of logging statements, increases log level distributions by ~20%, and increases the focus of logs in bug fix contexts ~83% of the time. For further details, interested readers can watch our demonstration video (https://www.youtube.com/watch?v=qIULoAXoDv4).
翻译:由于现代软件应用程序的高度交易性质,每天生成大量日志,这可能会令开发者不堪重负。 登录信息超载对软件应用程序可能很危险。 使用日志水平, 开发者可以在软件运行期间打印有用信息, 同时隐藏动词日志。 随着软件的演进, 与周围软件功能实施相关的日志报表的日志水平可能也需要改变。 保持日志水平需要大量手工劳动。 在本文中, 我们展示了一种自动化的方法, 它可以通过匹配周围特性开发者的兴趣水平来恢复功能日志水平的更新。 使用两个外部插件( JGit 和 Mylyn ), 使用开放源 Eclipse 插件实施该方法。 它在18个开放源 Java 项目上进行了测试, 包括~ 300万条代码行和~ 4K 日志报表。 我们的工具成功分析了99. 22%的日志报表, 将日志水平分布增加 ~ 20 %, 并增加错误修正环境的日志焦点 ~ 83% 。 详情, 感兴趣的读者可以观看我们的演示: LOVA/ Q= LOVA= 。