  Logging -- used for system events and security breaches to describe more
informational yet essential aspects of software features -- is pervasive. Given
the high transactionality of today's software, logging effectiveness can be
reduced by information overload. Log levels help alleviate this problem by
correlating a priority to logs that can be later filtered. As software evolves,
however, levels of logs documenting surrounding feature implementations may
also require modification as features once deemed important may have decreased
in urgency and vice-versa. We present an automated approach that assists
developers in evolving levels of such (feature) logs. The approach, based on
mining Git histories and manipulating a degree of interest (DOI) model,
transforms source code to revitalize feature log levels based on the
"interestingness" of the surrounding code. Built upon JGit and Mylyn, the
approach is implemented as an Eclipse IDE plug-in and evaluated on 18 Java
projects with $\sim$3 million lines of code and $\sim$4K log statements. Our
tool successfully analyzes 99.22% of logging statements, increases log level
distributions by $\sim$20%, and increases the focus of logs in bug fix contexts
$\sim$83% of the time. Moreover, pull (patch) requests were integrated into
large and popular open-source projects. The results indicate that the approach
is promising in assisting developers in evolving feature log levels.
