0

I need to configure my logs on daily basis and want to create separate log file for every day, having logs for every 24 hours only. how to accommodate that in my XML.

can any one help me to refactor it as well, as it looks amateur to me.

I dont need rolling on the basis of size, please suggest as my logback.xml is share below:

logback.xml

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

<timestamp key="bySecond" datePattern="yyyy-MM-dd_HHmmss" />

<!-- Send debug messages to System.out -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n
        </pattern>
    </encoder>
</appender>

<appender name="ROLLING"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${log.folder}/TM-${bySecond}.log</file>
    <rollingPolicy
        class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <fileNamePattern>${log.folder}/Archive-%d{yyyy-MM-dd}.%i.log
        </fileNamePattern>
        <maxFileSize>10MB</maxFileSize>
        <maxHistory>30</maxHistory>
        <totalSizeCap>1GB</totalSizeCap>
    </rollingPolicy>
    <encoder>
        <pattern>TM ID [%X{TMId}] %d{HH:mm:ss.SSS} [%thread]
            %-5level %logger{5} - %msg%n</pattern>
    </encoder>
</appender>

<appender name="PS"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${log.folder}/PS/TM-PS-%d{yyyy-MM-dd}.log
        </fileNamePattern>
        <maxHistory>30</maxHistory>
        <totalSizeCap>1GB</totalSizeCap>
    </rollingPolicy>
    <triggeringPolicy
        class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <maxFileSize>10MB</maxFileSize>
    </triggeringPolicy>
    <encoder>
        <pattern>TM ID [%X{TMId}] %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
    </encoder>
</appender>

<appender name="R1"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${log.folder}/R1/TM-R1-%d{yyyy-MM-dd}.log
        </fileNamePattern>
        <maxHistory>30</maxHistory>
        <totalSizeCap>1GB</totalSizeCap>
    </rollingPolicy>
    <triggeringPolicy
        class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <maxFileSize>10MB</maxFileSize>
    </triggeringPolicy>
    <encoder>
        <pattern>TM ID [%X{TMId}] %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
    </encoder>
</appender>
<appender name="D1"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${log.folder}/D1/TM-D1-%d{yyyy-MM-dd}.log
        </fileNamePattern>
        <maxHistory>30</maxHistory>
        <totalSizeCap>1GB</totalSizeCap>
    </rollingPolicy>
    <triggeringPolicy
        class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <maxFileSize>10MB</maxFileSize>
    </triggeringPolicy>
    <encoder>
        <pattern>TM ID [%X{TMId}] %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
    </encoder>
</appender>

<appender name="TRANSACTIONSIFTER" class="ch.qos.logback.classic.sift.SiftingAppender">
    <discriminator>
        <key>transactionData</key>
        <defaultValue>default-data</defaultValue>
    </discriminator>
    <sift>
        <appender name="trancsactionFileAppender"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${log.folder}/PS/Transactions/TM-PS-${transactionData}-%d{yyyy-MM-dd}.log
                </fileNamePattern>
                <maxHistory>30</maxHistory>
                <totalSizeCap>1GB</totalSizeCap>
            </rollingPolicy>
            <triggeringPolicy
                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <maxFileSize>10MB</maxFileSize>
            </triggeringPolicy>
            <encoder>
                <pattern>TM ID [%X{TMId}] %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
            </encoder>
        </appender>
    </sift>
</appender>


<logger name="in.smartbox.TM" level="info" additivity="false">
    <appender-ref ref="ROLLING" />
    <appender-ref ref="STDOUT" />
</logger>

<logger name="in.smartbox.TM.PS" level="info"
    additivity="false">
    <appender-ref ref="PS" />
    <appender-ref ref="STDOUT" />
    <appender-ref ref="TRANSACTIONSIFTER" />
</logger>

<logger name="in.smartbox.TM.R1" level="info"
    additivity="false">
    <appender-ref ref="R1" />
    <appender-ref ref="STDOUT" />
</logger>
<logger name="in.smartbox.TM.D1" level="info"
    additivity="false">
    <appender-ref ref="D1" />
    <appender-ref ref="STDOUT" />
</logger>
<!-- By default, the level of the root level is set to DEBUG -->
<root level="info">
    <appender-ref ref="ROLLING" />
    <appender-ref ref="STDOUT" />
</root>

Rishabh
  • 89
  • 1
  • 4
  • 11

1 Answers1

0

This might help you , "org.apache.log4j.DailyRollingFileAppender"

Balakumar
  • 650
  • 1
  • 12
  • 29