0

単一の Tomcat インスタンスにデプロイされた複数の Grails アプリケーション間でTimeAndSizeRollingAppender log4j アペンダーを共有したいと考えています。

カスタム アペンダー 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"))
    }
}

アプリケーション lib の外部にある共通のアペンダーを Tomcat と共有するにはどうすればよいですか?

4

0 に答える 0