log4j = {
def pattern = new PatternLayout('%d{dd-MM-yyyy HH:mm:ss,SSS} %5p %c{2} - %m%n')
environments{
development{
appenders{
appender new ConsoleAppender(
name: 'stdout',
layout: pattern
)
appender new DailyRollingFileAppender(
name:"file",
file:"/home/logs/app.log",
layout: pattern,
datePattern: "'.'yyyy-MM-dd")
}
}
production{
appenders {
appender new DailyRollingFileAppender(
name:"file",
file:"/home/logs/app.log",
layout: pattern,
datePattern: "'.'yyyy-MM-dd")
rollingFile name:"stacktrace",
file:"/home/logs/stacktrace.log"
appender new ConsoleAppender(
name: 'stdout',
layout: pattern
)
}
}
}
root {
info("file")
}
}
DailyrollOver not working.According to the documentation ,I think there should be different files ( app.log.{today's_date}) .but only one file (app.log) exists.Am i missing something here?
Try this config in your any environment,
import org.apache.log4j.DailyRollingFileAppender // import at the top of the file
production {
log4j = {
appenders {
file name : 'loggerFile',
file :"/YOUR_PATH/loggerFile.log",
append: false,
layout: pattern(conversionPattern: '%d{dd-MM-yyyy HH:mm:ss} [%5p] - %m%n')
appender new DailyRollingFileAppender(
name: 'dailyAppender',
datePattern: "'.'yyyy-MM-dd",
fileName: "/YOUR_PATH/loggerFile.log",
layout: pattern(conversionPattern: '%d{dd-MM-yyyy HH:mm:ss} [%5p] - %m%n')
)
}
root {
debug 'dailyAppender'
error 'stdout'
info 'dailyAppender'
}
}
}
Note :
1.you need to create the logger file at the given location like
/YOUR_PATH/loggerFile.log
otherwise app will throw the FileNotFound exception.
- Separate log for date wise file will take 1 or more hour to reflect after app start.