我想在部署到单个 Tomcat 实例的多个 Grails 应用程序之间共享一个TimeAndSizeRollingAppender log4j appender。
将自定义附加程序 jar 部署到$CATALINA_BASE/lib或$CATALINA_HOME/lib时收到错误消息:
script137576019951183098840.groovy: 39: unable to resolve class uk.org.simonsite.log4j.appender.TimeAndSizeRollingAppender @ line 39, column 18.
appender new uk.org.simonsite.log4j.appender.TimeAndSizeRollingAppender(
^
1 error
Aug 5, 2013 8:36:40 PM org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper warn
如果我将 jar 部署到$CATALINA_BASE/webapps/app1/WEB-INF/lib和$CATALINA_BASE/webapps/app2/WEB-INF/lib ,它就可以工作。但是,我想将此部署细节保留在应用程序本身之外。
我正在使用以下外部化配置来配置应用程序中的日志记录:
app1-config.groovy
log4j = {
appenders {
appender new uk.org.simonsite.log4j.appender.TimeAndSizeRollingAppender(
name: "file",
file: "app1.log",
threshold: org.apache.log4j.Level.ALL,
datePattern: ".yyyy-MM-dd",
compressionAlgorithm: "ZIP",
compressionMinQueueSize: 2,
layout: pattern(conversionPattern: "%d{MM-dd-yyyy HH:mm:ss.SSS} [%t] %c %M %x%n%p: %m%n"))
}
}
app2-config.groovy
log4j = {
appenders {
appender new uk.org.simonsite.log4j.appender.TimeAndSizeRollingAppender(
name: "file",
file: "app2.log",
threshold: org.apache.log4j.Level.ALL,
datePattern: ".yyyy-MM-dd",
compressionAlgorithm: "ZIP",
compressionMinQueueSize: 2,
layout: pattern(conversionPattern: "%d{MM-dd-yyyy HH:mm:ss.SSS} [%t] %c %M %x%n%p: %m%n"))
}
}
如何与 Tomcat 共享应用程序库之外的公共附加程序?