log4j配置grails 2+ for dailyRollOver无法正常工作

时间:2017-12-21 06:06:47

标签: grails log4j

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不工作。根据文档,我认为应该有不同的文件(app.log。{now_date})。但只存在一个文件(app.log)。我在这里遗漏了什么?

1 个答案:

答案 0 :(得分:0)

在任何环境中尝试此配置

   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'
          } 
    }  
}
  

注意:

     

1.您需要在给定位置创建记录器文件,例如        /YOUR_PATH/loggerFile.log否则app会扔掉    FileNotFound 例外。

     
      
  1. 日期明智文件的单独日志将需要1小时或更长时间才能反映应用程序启动后的情况。
  2.