티스토리 뷰

Spring

SLF4J Log 설정

IT공부블로그 2019. 4. 27. 13:48
728x90
반응형

1. pom.xml의 properties에  

<!-- jcl로 보내는 로그들을 slf4j로 넘겨서 받음(브릿지라이브러리?) -->

<jcloverslf4j.version>1.7.6</jcloverslf4j.version>   <logback.version>1.1.1</logback.version>


위 2개를 입력


2.  pom.xml의 dependencies에 

<!--  Logback 얘를 커몬 로깅으로 인식해야함 -->

      <dependency>

         <groupId>org.slf4j</groupId>

         <artifactId>jcl-over-slf4j</artifactId>

         <version>${jcloverslf4j.version}</version>

      </dependency>

      <dependency>

         <groupId>ch.qos.logback</groupId>

         <artifactId>logback-classic</artifactId>

         <version>${logback.version}</version>

      </dependency> 


위 내용추가


3.  src/main/resources 밑에 logback.xml 추가

<?xml version="1.0" encoding="UTF-8"?>

<configuration>


   <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">

      <encoder>

         <charset>UTF-8</charset>

         <Pattern>

            %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n

         </Pattern>

      </encoder>

   </appender>


   <appender name="fileAppender2" class="ch.qos.logback.core.rolling.RollingFileAppender">

      <file>/xorwnTest/quicksilver-exception.log</file>

      <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

         <Pattern>

            %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n

         </Pattern>

      </encoder>

      <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

         <FileNamePattern>/test/mysite-exception.%i.log.zip</FileNamePattern>

         <MinIndex>1</MinIndex>

         <MaxIndex>10</MaxIndex>

      </rollingPolicy>

      <triggeringPolicy

         class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

         <MaxFileSize>100MB</MaxFileSize>

      </triggeringPolicy>

   </appender>


   <logger name="com.douzone.mysite.exception"  level="debug" additivity="false">

            <appender-ref ref="fileAppenderException" />

    </logger>

    

     <logger name="com.douzone.quicksilver.aspect"  level="debug" additivity="false">

            <appender-ref ref="fileAppender" />

    </logger>

    

     <logger name="com.douzone.exception"  level="debug" additivity="false">

            <appender-ref ref="fileAppender2" />

            <appender-ref ref="consoleAppender" />

            

    </logger>


   <root level="info"> <!-- 레벨단계떄문에 로그안뜰수도있으니 debug로 -->

      <appender-ref ref="consoleAppender" />

   </root>


</configuration>


4. appender는 File, Console이 있으며  Logger로 해당 패키지를 설정해두면 그 패키지에서 발생하는 error or log를 appender가 받아서 File or console로 출력


5. Logger에 등록한 패키지의 클래스중 log를 남길 클래스에

   private static final Log LOG = LogFactory.getLog(GlobalExceptionHandler.class);

이와 같이 LOG를 생성


LOG.debug( "#ex2 - debug log" );

  LOG.info( "#ex2 - info log" );

LOG.warn( "#ex2 - warn log" );

LOG.error( "#ex2 - error log" );


위와 같이 메세지를 설정해두면 LOG가 생성된다

728x90
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/07   »
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
글 보관함