├── .gitignore ├── logback-with-springboot-config.iml ├── pom.xml └── src └── main ├── java └── com │ └── lankydan │ ├── Application.java │ └── service │ ├── MyService.java │ └── MyServiceImpl.java └── resources ├── application-dev.properties ├── application-prod.properties ├── application.properties ├── logback-spring.xml └── logback.xml /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | .idea/ -------------------------------------------------------------------------------- /logback-with-springboot-config.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | logback-with-springboot-config 8 | logback-with-springboot-config 9 | 1.0.0 10 | 11 | 12 | org.springframework.boot 13 | spring-boot-starter-parent 14 | 2.7.1 15 | 16 | 17 | 18 | 19 | org.springframework.boot 20 | spring-boot-starter 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/main/java/com/lankydan/Application.java: -------------------------------------------------------------------------------- 1 | package com.lankydan; 2 | 3 | import com.lankydan.service.MyService; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.boot.CommandLineRunner; 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class Application implements CommandLineRunner { 11 | 12 | @Autowired private MyService myService; 13 | 14 | public static void main(String args[]) { 15 | SpringApplication.run(Application.class); 16 | } 17 | 18 | @Override 19 | public void run(final String args[]) { 20 | myService.doStuff("value"); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/lankydan/service/MyService.java: -------------------------------------------------------------------------------- 1 | package com.lankydan.service; 2 | 3 | public interface MyService { 4 | void doStuff(String value); 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/com/lankydan/service/MyServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.lankydan.service; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | import org.springframework.stereotype.Service; 6 | 7 | @Service 8 | public class MyServiceImpl implements MyService { 9 | 10 | private static final Logger LOGGER = LoggerFactory.getLogger(MyServiceImpl.class); 11 | 12 | @Override 13 | public void doStuff(final String value) { 14 | LOGGER.trace("doStuff needed more information - {}", value); 15 | LOGGER.debug("doStuff needed to debug - {}", value); 16 | LOGGER.info("doStuff took input - {}", value); 17 | LOGGER.warn("doStuff needed to warn - {}", value); 18 | LOGGER.error("doStuff encountered an error with value - {}", value); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/application-dev.properties: -------------------------------------------------------------------------------- 1 | logging.level.root=info 2 | logging.level.com.lankydan.service=debug 3 | logging.path=logs 4 | logging.file=${logging.path}/log.log 5 | logging.pattern.file=%d{dd-MM-yyyy HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n 6 | logging.pattern.console=%d{dd-MM-yyyy HH:mm:ss.SSS} %magenta([%thread]) %highlight(%-5level) %logger.%M - %msg%n 7 | -------------------------------------------------------------------------------- /src/main/resources/application-prod.properties: -------------------------------------------------------------------------------- 1 | logging.level.root=info 2 | logging.level.com.lankydan.service=error 3 | logging.path=logs 4 | logging.file=${logging.path}/log.log 5 | logging.pattern.file=%d{dd-MM-yyyy HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n 6 | logging.pattern.console= 7 | -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | logging.level.root=info 2 | logging.level.com.lankydan.service=info 3 | spring.profiles.active=dev 4 | logging.console=off 5 | logging.pattern.console=%d{dd-MM-yyyy HH:mm:ss.SSS} %magenta([%thread]) %highlight(%-5level) %logger.%M - %msg%n 6 | logging.path=logs 7 | logging.file=${logging.path}/log.log 8 | logging.pattern.file=%d{dd-MM-yyyy HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n 9 | -------------------------------------------------------------------------------- /src/main/resources/logback-spring.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | %d{dd-MM-yyyy HH:mm:ss.SSS} %magenta([%thread]) %highlight(%-5level) %logger.%M - %msg%n 9 | 10 | 11 | 12 | 13 | 14 | ${LOG_DIR}/log.log 15 | 16 | 17 | %d{dd-MM-yyyy HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | %d{dd-MM-yyyy HH:mm:ss.SSS} %magenta([%thread]) %highlight(%-5level) %logger.%M - %msg%n 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | ${LOG_PATH}/log.log 27 | 28 | 29 | %d{dd-MM-yyyy HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | ${LOG_PATH}/archived/log.%d{dd-MM-yyyy}.log 39 | 40 | 10 41 | 100MB 42 | 43 | 44 | 45 | 46 | 10MB 47 | 48 | ${LOG_PATH}/archived/log_%d{dd-MM-yyyy}_%i.log 49 | 50 | 10 51 | 100MB 52 | 53 | 54 | 55 | 56 | ${LOG_PATH}/log_%i.log 57 | 58 | 2 59 | 3 60 | 61 | 62 | 63 | 64 | 1KB 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | --------------------------------------------------------------------------------