我们最近将我们的应用程序从 Grails 1.3.7 升级到了 2.1,它在 maven 下构建,并对 grails 的 pom 文件和其他与配置和构建相关的文件进行了大量更改,以使事情正常运行。
这就是问题所在:当我们的 JBoss 服务器部署我们的 grails war 文件时,似乎有一些东西会导致 log4j 被重新配置,以至于 appserver 从那时起停止所有日志记录(对于任何类)。应用服务器仍然运行良好,但在此行之后没有日志记录:
INFO [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/our-app
删除我们的 war 文件并重新启动服务器会显示正确的日志记录。
我们的应用服务器有一个server/default/conf/jboss-log4j.xml
文件,我们在其中指定我们的跨应用 log4j 配置。
我已经尝试从我们的战争中删除 log4j 和 slf4j jar 文件,因为这在过去引起了问题,但这次并没有解决问题。
我还注释掉了可能是罪魁祸首的整个思考log4j
部分,但这没有任何效果。grails-app/Config.groovy
我还尝试删除 grails log4j 插件(通过在 pom 中将其标记为“提供”范围),但这会在部署期间导致以下错误:
ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/out-app]] (main) Error configuring application listener of class org.codehaus.groovy.grails.plugins.log4j.web.util.Log4jConfigListener
java.lang.ClassNotFoundException: org.codehaus.groovy.grails.plugins.log4j.web.util.Log4jConfigListener
知道我可能错过了什么吗?
我的战争文件的缩写列表如下:
WEB-INF/applicationContext.xml
WEB-INF/classes/BootStrap.class
WEB-INF/classes/BuildConfig.class
WEB-INF/classes/Config.class
WEB-INF/classes/DataSource.class
WEB-INF/classes/HibernateGrailsPlugin.class
WEB-INF/classes/UrlMappings.class
WEB-INF/classes/application.properties
WEB-INF/classes/gsp/views.properties
WEB-INF/classes/resources.class
WEB-INF/grails.xml
WEB-INF/jboss-web.xml
WEB-INF/lib/antlr-2.7.7.jar
WEB-INF/lib/aopalliance-1.0.jar
WEB-INF/lib/aspectjrt-1.6.10.jar
WEB-INF/lib/aspectjweaver-1.6.10.jar
WEB-INF/lib/cglib-2.2.jar
WEB-INF/lib/commons-beanutils-1.8.3.jar
WEB-INF/lib/commons-codec-1.5.jar
WEB-INF/lib/commons-collections-3.2.1.jar
WEB-INF/lib/commons-dbcp-1.4.jar
WEB-INF/lib/commons-el-1.0.jar
WEB-INF/lib/commons-fileupload-1.2.2.jar
WEB-INF/lib/commons-io-2.0.1.jar
WEB-INF/lib/commons-lang-2.6.jar
WEB-INF/lib/commons-pool-1.5.6.jar
WEB-INF/lib/commons-validator-1.3.1.jar
WEB-INF/lib/concurrentlinkedhashmap-lru-1.2_jdk5.jar
WEB-INF/lib/dom4j-1.6.1.jar
WEB-INF/lib/ehcache-core-2.4.6.jar
WEB-INF/lib/encryption-1.0.jar
WEB-INF/lib/ezmorph-1.0.6.jar
WEB-INF/lib/grails-bootstrap-2.1.0.jar
WEB-INF/lib/grails-core-2.1.0.jar
WEB-INF/lib/grails-crud-2.1.0.jar
WEB-INF/lib/grails-datastore-core-1.0.9.RELEASE.jar
WEB-INF/lib/grails-datastore-gorm-1.0.9.RELEASE.jar
WEB-INF/lib/grails-datastore-simple-1.0.9.RELEASE.jar
WEB-INF/lib/grails-hibernate-2.1.0.jar
WEB-INF/lib/grails-logging-2.1.0.jar
WEB-INF/lib/grails-plugin-codecs-2.1.0.jar
WEB-INF/lib/grails-plugin-controllers-2.1.0.jar
WEB-INF/lib/grails-plugin-converters-2.1.0.jar
WEB-INF/lib/grails-plugin-datasource-2.1.0.jar
WEB-INF/lib/grails-plugin-domain-class-2.1.0.jar
WEB-INF/lib/grails-plugin-filters-2.1.0.jar
WEB-INF/lib/grails-plugin-gsp-2.1.0.jar
WEB-INF/lib/grails-plugin-i18n-2.1.0.jar
WEB-INF/lib/grails-plugin-log4j-2.1.0.jar
WEB-INF/lib/grails-plugin-mimetypes-2.1.0.jar
WEB-INF/lib/grails-plugin-scaffolding-2.1.0.jar
WEB-INF/lib/grails-plugin-services-2.1.0.jar
WEB-INF/lib/grails-plugin-servlets-2.1.0.jar
WEB-INF/lib/grails-plugin-url-mappings-2.1.0.jar
WEB-INF/lib/grails-plugin-validation-2.1.0.jar
WEB-INF/lib/grails-resources-2.1.0.jar
WEB-INF/lib/grails-spring-2.1.0.jar
WEB-INF/lib/grails-web-2.1.0.jar
WEB-INF/lib/grails-webflow-2.1.0.jar
WEB-INF/lib/groovy-all-1.8.6.jar
WEB-INF/lib/hibernate-ehcache-3.6.10.Final.jar
WEB-INF/lib/hibernate-jpa-2.0-api-1.0.1.Final.jar
WEB-INF/lib/hibernate-validator-4.1.0.Final.jar
WEB-INF/lib/http-builder-0.5.0-RC3.jar
WEB-INF/lib/httpclient-4.0.jar
WEB-INF/lib/httpcore-4.0.1.jar
WEB-INF/lib/json-lib-2.3-jdk15.jar
WEB-INF/lib/jstl-1.1.2.jar
WEB-INF/lib/nekohtml-1.9.9.jar
WEB-INF/lib/oro-2.0.8.jar
WEB-INF/lib/sitemesh-2.4.jar
WEB-INF/lib/spring-aop-3.1.0.RELEASE.jar
WEB-INF/lib/spring-asm-3.1.0.RELEASE.jar
WEB-INF/lib/spring-aspects-3.1.0.RELEASE.jar
WEB-INF/lib/spring-beans-3.1.0.RELEASE.jar
WEB-INF/lib/spring-context-3.1.0.RELEASE.jar
WEB-INF/lib/spring-context-support-3.1.0.RELEASE.jar
WEB-INF/lib/spring-core-3.1.0.RELEASE.jar
WEB-INF/lib/spring-expression-3.1.0.RELEASE.jar
WEB-INF/lib/spring-jdbc-3.1.0.RELEASE.jar
WEB-INF/lib/spring-jms-3.1.0.RELEASE.jar
WEB-INF/lib/spring-orm-3.1.0.RELEASE.jar
WEB-INF/lib/spring-tx-3.1.0.RELEASE.jar
WEB-INF/lib/spring-web-3.1.0.RELEASE.jar
WEB-INF/lib/spring-webmvc-3.1.0.RELEASE.jar
WEB-INF/lib/util-io-1.2-SNAPSHOT.jar
WEB-INF/lib/utils-1.07.00.jar
WEB-INF/lib/validation-api-1.0.0.GA.jar
WEB-INF/lib/xml-resolver-1.2.jar
WEB-INF/lib/xpp3_min-1.1.4c.jar
WEB-INF/lib/zdecimal-3.2.jar
WEB-INF/plugins/hibernate-2.1.0/grails-app/i18n/messages.properties
WEB-INF/plugins/hibernate-2.1.0/plugin.xml
WEB-INF/sitemesh.xml
WEB-INF/web.xml
和 Config.groovy(删除了特定于应用程序的内容):
grails.project.groupId = appName // change this to alter the default package name and Maven publishing destination
grails.mime.file.extensions = true // enables the parsing of file extensions from URLs into the request format
grails.mime.use.accept.header = false
grails.mime.types = [
all: '*/*',
atom: 'application/atom+xml',
css: 'text/css',
csv: 'text/csv',
form: 'application/x-www-form-urlencoded',
html: ['text/html','application/xhtml+xml'],
js: 'text/javascript',
json: ['application/json', 'text/json'],
multipartForm: 'multipart/form-data',
rss: 'application/rss+xml',
text: 'text/plain',
xml: ['text/xml', 'application/xml']
]
grails.resources.adhoc.patterns = ['/images/*', '/css/*', '/js/*', '/plugins/*']
grails.views.default.codec = "none" // none, html, base64
grails.views.gsp.encoding = "UTF-8"
grails.converters.encoding = "UTF-8"
grails.views.gsp.sitemesh.preprocess = true
grails.scaffolding.templates.domainSuffix = 'Instance'
grails.json.legacy.builder = false
grails.enable.native2ascii = true
grails.logging.jul.usebridge = true
grails.spring.bean.packages = []
grails.hibernate.cache.queries = false
environments {
production {
grails.logging.jul.usebridge = false
}
development {
grails.logging.jul.usebridge = true
}
test {
// shouldn't be using this environment
}
}