밤과라임
3k
2018-03-22 15:08:31
4
1203

log4j 일정기간 이후 삭제 질문입니다.


log4j에서 dailyout으로 일정기간마다 새 파일로 로그를 저장하고 있는데


일정기간이 지나면 저장된 로그를 삭제하도록 할 수 없을까요??


검색해보니 rollingfileappender로 했다면 가능하다는 글이 있던데


이것은 dailyout부분을 rollingfileappender으로 변경하고 설정하면 되나요??

0
0
  • 답변 4

  • zepinos
    19k
    2018-03-22 15:40:03

    http://logging.apache.org/log4j/1.2/manual.html


    RollingFileAppender 로 검색해보시면



    log4j.appender.R.MaxFileSize=100KB
    log4j.appender.R.MaxBackupIndex=1


    이런 식으로 제약을 걸 수 있습니다.

    0
  • 밤과라임
    3k
    2018-03-22 15:44:35

    @zepinos 

    감사합니다. 

    그런 저는 현재 log4j.xml 에

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

    <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">

    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">


    <!-- Appenders -->

    <appender name="console" class="org.apache.log4j.ConsoleAppender">

    <param name="Target" value="System.out" />

    <layout class="org.apache.log4j.PatternLayout">

    <param name="ConversionPattern" value="%-5p: %c - %m%n" />

    </layout>

    </appender>

        <appender name="dailyout" class="org.apache.log4j.DailyRollingFileAppender">  

            <!-- 이것은 날짜별로  로그를 남김. 파일명.확장자.DatePattern으로 정의 함-->  

            <!-- <param name="file" value="/var/lib/tomcat6/logs/Web.log"/> -->

            <param name="file" value="C:/log/Web.log"/>

            

            <param name="Append" value="true"/>  

            <param name="DatePattern" value="'.'yyMMddHHmm"/>  

            <layout class="org.apache.log4j.PatternLayout">  

                <param name="ConversionPattern" value="%t> [%d{yyyy-MM-dd HH:mm:ss}] [%c{1}] [%L] [%p] %m %n"/>  

            </layout>  

        </appender>  


    <!-- Application Loggers -->

    <logger name="com">

    <level value="debug" />

    </logger>

    <!-- 3rdparty Loggers -->

    <logger name="java.sql.Statement">

        <level value="debug" />

    </logger>


    <logger name="java.sql.PreparedStatement">

        <level value="debug" />

    </logger>

     

    <logger name="java.sql.ResultSet">

        <level value="debug" />

    </logger>


    <logger name="org.springframework.core">

    <level value="debug" />

    </logger>

    <logger name="org.springframework.beans">

    <level value="debug" />

    </logger>

    <logger name="org.springframework.context">

    <level value="debug" />

    </logger>


    <logger name="org.springframework.web">

    <level value="debug" />

    </logger>


    <!-- Root Logger -->

    <!-- <root>

    <priority value="debug" />

    <appender-ref ref="dailyout" />

    </root> -->

    <root>

    <priority value="info" />

    <appender-ref ref="dailyout" />

    </root>

    </log4j:configuration>


    이런식으로 설정을 해뒀습니다. 이런경우 어떻게 바꾸면 되는지..정확히 답이 안나와서 질문을 남겼습니다;

    0
  • zepinos
    19k
    2018-03-22 15:50:46

    코드를 다 올리셔서 좀 정신이 없어 보이는데...log4j 1.2 버전 맞나요?


    MaxBackupIndex 는 1.2 에서 제공 안됩니다.


    굳이 1.2 을 써야한다면 아래 링크와 같이 커스텀으로 만드셔야 합니다.


    https://wiki.apache.org/logging-log4j/DailyRollingFileAppender


    0
  • 밤과라임
    3k
    2018-03-22 15:52:00
    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.