A Tool for Rejuvenating Feature Logging Levels via Git Histories and Degree of Interest
This tool reduces manual effort for developers in maintaining log levels in evolving software, though it is incremental as it builds on existing logging practices.
The paper tackles the problem of logging information overload in software development by automating the rejuvenation of feature log levels based on developer interest, achieving a 99.22% analysis success rate, a ~20% increase in log level distributions, and an ~83% improvement in log focus for bug fixes.
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).