Simple Loggging Facade For Java
SL4J는 3가지 모듈을 제공한다.
logback-core
logback-classic

logback-access
LogBack의 구체적 구성요소를 살펴보자.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class WebApplication {
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger(WebApplication.class);
for (int count = 1; count <= 10; count++) {
logger.trace("trace 로깅 {}", count);
logger.debug("debug 로깅 {}", count);
logger.info("info 로깅 {}", count);
logger.warn("warn 로깅 {}", count);
logger.error("error 로깅 {}", count);
}
}
}

간략하게 각 컴포넌트에 대해 설명하자면
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logFile.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 하루 동안의 log를 남김 -->
<fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 30일동안, 총 최대 3GB의 log를 저장함-->
<maxHistory>30</maxHistory>
<totalSizeCap>3GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE" />
</root>
</configuration>
<configuration>
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>mylog.txt</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 하루 동안의 log를 남김 -->
<fileNamePattern>mylog-%d{yyyy-MM-dd}.%i.zip</fileNamePattern>
<!-- 각각의 파일은 100MB로 저장되고, 30일동안, 최대 3GB의 log를 저장함-->
<maxFileSize>100MB</maxFileSize>
<maxHistory>30</maxHistory>
<totalSizeCap>3GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="ROLLING" />
</root>
</configuration>

TRACE -> DEBUG -> INFO -> WARN -> ERROR -> FATAL
참고
https://blog.pium.life/server-logging/
[Logging] slf4j, log4j, logback, log4j2
Logback 이란?
Logback 으로 쉽고 편리하게 로그 관리를 해볼까요? ⚙️
https://www.youtube.com/watch?v=JqZzy7RyudI
[Logging] Logback이란?