Добавить зависимость:
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>set_last_version</version> </dependency>
Добавить файл конфигурации /src/main/resources/log4j2.properties
Задать начальные конфигурации через properties.
status = warn appender.console.type = Console appender.console.name = LogToConsole appender.console.layout.type = PatternLayout appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n #appender.file.type = File #appender.file.name = LogToFile #appender.file.fileName=logs/app.log #appender.file.layout.type=PatternLayout #appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n # Rotate log file appender.rolling.type = RollingFile appender.rolling.name = LogToRollingFile appender.rolling.fileName = logs/app.log appender.rolling.filePattern = logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz appender.rolling.layout.type = PatternLayout appender.rolling.layout.pattern = %d %p %C{1.} [%t] %m%n appender.rolling.policies.type = Policies appender.rolling.policies.time.type = TimeBasedTriggeringPolicy appender.rolling.policies.size.type = SizeBasedTriggeringPolicy appender.rolling.policies.size.size=10MB appender.rolling.strategy.type = DefaultRolloverStrategy appender.rolling.strategy.max = 10 # Log to console and rolling file logger.app.name = com.mkyong logger.app.level = debug logger.app.additivity = false logger.app.appenderRef.rolling.ref = LogToRollingFile logger.app.appenderRef.console.ref = LogToConsole rootLogger.level = debug rootLogger.appenderRef.stdout.ref = LogToConsole
Добавить в логируемый класс объект для логирования.
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class App { private static final Logger logger = LoggerFactory.getLogger(App.class); }
Можно использовать:
logger.debug("Logger added");