Log4j 似乎忽略了我在 Config.groovy 中的一些 Grails Logging 设置,但没有忽略其他设置。我在 tomcat 上运行 Grails 2.2.1。
我已经设置了我的配置文件(如下)以将所有错误和更高消息记录到控制台(映射到 tomcat 中的 catalina.out),将解析、调度和联合包中的所有信息和更高消息记录到 master.log , 并将 parse、schedule 和 syndicate 包中的更高消息调试到各自的 parse、schedule 和 syndicate 日志中。
appenders 部分中提到的所有文件都在适当的位置创建,并接收日志消息。但是,master.log 正在接收调试消息,并且 master.log 和 syndicate.log的大小都已增长到 19GB,而配置明确将它们限制为 25MB...
谁能看到我做错了什么?grails 怎么会尊重我的配置中的一行而不是下一行?我的 Config.groovy 文件的相关部分是:
log4j = {
// Uncomment to override the default logging level across all
// classes.
root {
warn catalinaOut
}
appenders {
// this line prevents all messages from being duplicated to stdout DONT DELETE
console name: "stdout",
layout: pattern(conversionPattern: "")
console name: "catalinaOut",
layout: pattern(conversionPattern: "%-5p [%d] %c{2} %m%n")
file name: "dcsFileAppender",
file: "logs/data-collection-system/master.log",
maxFileSize: "25MB",in
maxBackupIndex: 10,
layout: pattern(conversionPattern: "%-5p [%d] %c{2} %m%n")
file name: "parseFileAppender",
file: "logs/data-collection-system/parse.log",
maxFileSize: "25MB",
maxBackupIndex: 10,
layout: pattern(conversionPattern: "%-5p [%d] %c{2} %m%n")
file name: "scheduleFileAppender",
file: "logs/data-collection-system/schedule.log",
maxFileSize: "25MB",
maxBackupIndex: 10,
layout: pattern(conversionPattern: "%-5p [%d] %c{2} %m%n")
file name: "syndicateFileAppender",
file: "logs/data-collection-system/syndicate.log",
maxFileSize: "25MB",
maxBackupIndex: 10,
layout: pattern(conversionPattern: "%-5p [%d] %c{2} %m%n")
}
environments {
production {
info dcsFileAppender: ["com.progauge.icp.parse", "com.progauge.icp.schedule", "com.progauge.icp.syndicate"]
all parseFileAppender: ["com.progauge.icp.parse"],
scheduleFileAppender: ["com.progauge.icp.schedule"],
syndicateFileAppender: ["com.progauge.icp.syndicate"]
}
}
}
作为旁注,我必须将 stdout 的模式设置为空字符串,因为我不想要标准的控制台日志记录行为,但是将 appender 设置为 null 会破坏我的自定义控制台日志记录,这也是我不想要的。