Tôi có sau đây để cấu hình DSL log4j của tôi trong Grails 1.2:Tại sao Grails (trong Tomcat) đăng nhập vào cả catalina.out và appender file tùy chỉnh của tôi?
log4j = {
appenders {
console name: 'stdout', layout: pattern(conversionPattern: conversionPattern)
environments {
production {
// ... some code to determine file path ...
rollingFile name: 'file', file: "${logDirectory}/${appName}.log", layout: pattern(conversionPattern: conversionPattern)
rollingFile name: 'StackTrace', file: "${logDirectory}/${appName}-stacktrace.log"
}
}
environments {
development { root { warn 'stdout' } }
test { root { warn 'stdout' } }
production { root { error 'file' } }
}
// ... package-specific logging configurations ...
}
Khi tôi triển khai như một cuộc chiến tranh để Tomcat, nhật ký của tôi được ghi vào cả hai catalina.out và 'file' logger của tôi được xác định cho sản xuất.
Tôi đã thử:
- thêm
additivity = false
định nghĩaroot {}
choproduction {}
, mà không làm việc (và tôi sẽ không thực sự mong đợi nó, vì nó rõ ràng thiết additivity cho logger gốc tự ?). - xác định trình điều khiển bảng điều khiển 'stdout' bên trong một khối
development {}
vàtest {}
trong phạm vi đóng cửaappenders {}
, nhưng điều đó cũng không hoạt động.
Có lẽ đây là vấn đề với cấu hình Tomcat của tôi chứ không phải DSL log4j của tôi? Gần nhất tôi đã đến để tìm một ai đó với một vấn đề tương tự là this mailing-list thread, mà không có (đơn giản) giải pháp.
Làm cách nào để ngăn các bản ghi được ghi vào catalina.out trong sản xuất?