Shades88
Shades88

Reputation: 8360

Logback rolling file appender not working

Below is my logback configuration

<appender name="TIME_BASED_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>C:\\Users\\ADMIN\\Documents\\NetBeansProjects\\timelog.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">      
        <!-- daily rollover -->
        <fileNamePattern>C:\\Users\\ADMIN\\Documents\\NetBeansProjects\\timelog.%d{yyyy-MM-dd-HH-mm}.log</fileNamePattern>
        <maxHistory>30</maxHistory>
        <maxFileSize>1M</maxFileSize>
        <totalSizeCap>10M</totalSizeCap>

    </rollingPolicy>
    <encoder>
        <pattern>%relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender> 

  <logger name="timeBased" level="INFO">
    <appender-ref ref="TIME_BASED_FILE"/>
    <appender-ref ref="consoleAppender"/>
  </logger> 

Code:

public class Test {
    public static void main(String [] args) {
        Logger logger = (Logger)LoggerFactory.getLogger("timeBased");
        logger.info("info");
    }
}

This code only prints on console, no file is created in specified directory. Folder has all write permissions. What is going wrong? Logback doesn't show any errors also. Please help. I am using windows7.

Upvotes: 5

Views: 8347

Answers (2)

Rohan Jain
Rohan Jain

Reputation: 107

Maybe you have specified the <file> parameter along with <fileNamePattern>

see "file property must be left unset/blank" in this link http://logback.qos.ch/codes.html#renamingError

Upvotes: 3

rvit34
rvit34

Reputation: 2116

You need to replace M to MB and correct fileName pattern The example below works for me:

<appender name="TIME_BASED_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>C:\\Users\\ADMIN\\Documents\\NetBeansProjects\\timelog.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <!-- daily rollover -->
        <fileNamePattern>C:\\Users\\admin\\Documents\\NetBeansProjects\\timelog.%d{yyyy-MM-dd-HH-mm}.%i.log</fileNamePattern>
        <maxHistory>30</maxHistory>
        <maxFileSize>1MB</maxFileSize>
        <totalSizeCap>10MB</totalSizeCap>

    </rollingPolicy>
    <encoder >
        <pattern>%relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
</appender>

Upvotes: 4

Related Questions