Log4j Concepts
Internal
Overview
The main advantage of log4j over System.out.println() is the ability to disable certain log statements while allowing others, via configuration.
Logger
Logger is the central class in the log4j package. Most logging operations, except configuration, are done through this class.
Category deprecation note: Logger is a subclass of Category and extends it. Category has been deprecated. Internally, whenever log4j is asked to produce a Category object, it will instead produce a Logger object. In order to preserve backward compatibility, methods that previously accepted category objects still continue to accept category objects.
Creating a Logger Instance
The recommended way to create Logger instance is to request them by name from the LogManager:
Logger log = LogManager.getLogger("some-name");
LoggerConfig
The logging hierarchy is maintained as a relationship between LoggerConfig instances.
LoggerConfig Named Hierarchy
A LoggerConfig is said to be an ancestor of another LoggerConfig if its name followed by a dot is a prefix of the descendant name.
A LoggerConfig is said to be a parent of a child LoggerConfig is there are no ancestors between itself and the descendant LoggerConfig.
Log Levels
Category
- This class has been deprecated and replaced with the Logger subclass. There is no need for new client code to use or refer to the Category class.