├── .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 |
--------------------------------------------------------------------------------