Inspectopedia
 
2024.3

Logger initialized with foreign class

Info
New
Last modified: 03 December 2024

Reports Logger instances that are initialized with a class literal from a different class than the Logger is contained in. This can easily happen when copy-pasting some code from another class and may result in logging events under an unexpected category and cause filters to be applied incorrectly.

A quick-fix is provided to replace the foreign class literal with one from the surrounding class.

Example:

After the quick-fix is applied:

Configure the inspection:

  • Use the table to specify the logger factory classes and logger factory methods recognized by this inspection.

  • Use the Ignore loggers initialized with a superclass option to ignore loggers that are initialized with a superclass of the class containing the logger.

  • Use the Ignore loggers in non-public classes to only warn on loggers in public classes.

  • Use the Ignore loggers not initialized in a final field to only report loggers initialized in a final field, other cases will be ignored.