diff --git a/log4j/pom.xml b/log4j/pom.xml index 9b87c131b9..856548327f 100644 --- a/log4j/pom.xml +++ b/log4j/pom.xml @@ -8,13 +8,24 @@ log4j 1.0-SNAPSHOT - - - - log4j - log4j - ${log4j.version} - + + + + log4j + log4j + ${log4j.version} + + + log4j + apache-log4j-extras + ${log4j.version} + + + + log4j + apache-log4j-extras + ${log4j.version} + @@ -58,14 +69,14 @@ - + 1.2.17 2.7 2.7 3.3.6 1.1.7 - + 3.6.0 diff --git a/log4j/src/main/java/com/baeldung/log4j/Log4jRollingExample.java b/log4j/src/main/java/com/baeldung/log4j/Log4jRollingExample.java new file mode 100644 index 0000000000..c0c05e1759 --- /dev/null +++ b/log4j/src/main/java/com/baeldung/log4j/Log4jRollingExample.java @@ -0,0 +1,18 @@ +package com.baeldung.log4j; + +import java.util.stream.IntStream; + +import org.apache.log4j.Logger; + +public class Log4jRollingExample { + + private final static Logger logger = Logger.getLogger(Log4jRollingExample.class); + + public static void main(String[] args) throws InterruptedException { + for(int i = 0; i<2000; i++){ + logger.info("This is the " + i + " time I say 'Hello World'."); + Thread.sleep(100); + } + } + +} diff --git a/log4j/src/main/java/com/baeldung/log4j2/Log4j2RollingExample.java b/log4j/src/main/java/com/baeldung/log4j2/Log4j2RollingExample.java new file mode 100644 index 0000000000..8e0b9fccab --- /dev/null +++ b/log4j/src/main/java/com/baeldung/log4j2/Log4j2RollingExample.java @@ -0,0 +1,19 @@ +package com.baeldung.log4j2; + +import java.util.stream.IntStream; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public class Log4j2RollingExample { + + private static final Logger logger = LogManager.getLogger(Log4j2RollingExample.class); + + public static void main(String[] args) throws InterruptedException { + for(int i = 0; i<2000; i++){ + logger.info("This is the {} time I say 'Hello World'.", i); + Thread.sleep(100); + } + } + +} diff --git a/log4j/src/main/java/com/baeldung/logback/LogbackRollingExample.java b/log4j/src/main/java/com/baeldung/logback/LogbackRollingExample.java new file mode 100644 index 0000000000..60d55752b3 --- /dev/null +++ b/log4j/src/main/java/com/baeldung/logback/LogbackRollingExample.java @@ -0,0 +1,19 @@ +package com.baeldung.logback; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.stream.IntStream; + +public class LogbackRollingExample { + + private static final Logger logger = LoggerFactory.getLogger(LogbackRollingExample.class); + + public static void main(String[] args) throws InterruptedException { + for(int i = 0; i<2000; i++){ + logger.info("This is the {} time I say 'Hello World'.", i); + Thread.sleep(100); + } + } + +} diff --git a/log4j/src/main/java/com/baeldung/slf4j/Slf4jRollingExample.java b/log4j/src/main/java/com/baeldung/slf4j/Slf4jRollingExample.java new file mode 100644 index 0000000000..f5cc4a280a --- /dev/null +++ b/log4j/src/main/java/com/baeldung/slf4j/Slf4jRollingExample.java @@ -0,0 +1,19 @@ +package com.baeldung.slf4j; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.stream.IntStream; + +public class Slf4jRollingExample { + + private static Logger logger = LoggerFactory.getLogger(Slf4jRollingExample.class); + + public static void main(String[] args) throws InterruptedException { + for(int i = 0; i<2000; i++){ + logger.info("This is the {} time I say 'Hello World'.", i); + Thread.sleep(100); + } + } + +} diff --git a/log4j/src/main/resources/log4j.xml b/log4j/src/main/resources/log4j.xml index 58a924f970..562d6920f9 100644 --- a/log4j/src/main/resources/log4j.xml +++ b/log4j/src/main/resources/log4j.xml @@ -1,28 +1,95 @@ - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/log4j/src/main/resources/log4j2.xml b/log4j/src/main/resources/log4j2.xml index 76a20bcd61..b5724c5bee 100644 --- a/log4j/src/main/resources/log4j2.xml +++ b/log4j/src/main/resources/log4j2.xml @@ -8,16 +8,70 @@ # File appender - + # Pattern of log message for file appender + + # Rolling appender + + + %d{yyyy-MM-dd HH:mm:ss} %p %m%n + + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss} %p %m%n + + + + + + + %d{yyyy-MM-dd HH:mm:ss} %p %m%n + + + + + + + + + + + + + # Override log level for specified package + + + + + + diff --git a/log4j/src/main/resources/logback.xml b/log4j/src/main/resources/logback.xml index fc66d560aa..f567962cb6 100644 --- a/log4j/src/main/resources/logback.xml +++ b/log4j/src/main/resources/logback.xml @@ -18,8 +18,65 @@ + # Rolling appenders + + target/slf4j/roll-by-size/app.log + + target/slf4j/roll-by-size/app.%i.log.zip + + 1 + 3 + 1MB + + + 5KB + + + %-4relative [%thread] %-5level %logger{35} - %msg%n + + + + + + target/slf4j/roll-by-time/app.log + + target/slf4j/roll-by-time/app.%d{yyyy-MM-dd-HH-mm}.log.zip + + 20 + 1MB + + + %d{yyyy-MM-dd HH:mm:ss} %p %m%n + + + + + target/slf4j/roll-by-time-and-size/app.log + + target/slf4j/roll-by-time-and-size/app.%d{yyyy-MM-dd-mm}.%i.log.zip + + 5KB + 20 + 1MB + + + %d{yyyy-MM-dd HH:mm:ss} %p %m%n + + + # Override log level for specified package - + + + + +