2012-07-27 2 views
1

Nous avons récemment mis à jour notre application de Grails 1.3.7 à 2.1, qui se construit sous maven, et fait un tas de changements dans le fichier pom et d'autres fichiers de config et de construction de grails à faire fonctionner les choses.Grails 2.1 désactive la configuration de log4j sur JBoss

est ici la question: lorsque notre serveur JBoss déploie notre fichier de guerre de Grails, quelque chose semble provoquer log4j à reconfiguré de telle sorte que le serveur d'applications cesse toute exploitation de ce point vers l'avant (pour toute la classe). Le serveur d'application est toujours en cours bien, mais il n'y a pas d'exploitation forestière après cette ligne:

INFO [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/our-app 

Suppression de notre fichier de guerre et de redémarrer le serveur affiche correctement les choses se connecter.

Notre serveur d'applications a un fichier server/default/conf/jboss-log4j.xml dans lequel nous spécifions notre configuration log4j inter-applications.

J'ai essayé de supprimer les fichiers jar log4j et slf4j de notre guerre, car cela a causé des problèmes dans le passé, mais il n'a pas résolu le problème cette fois.

J'ai également commenté toute la section log4j de grails-app/Config.groovy en pensant que cela pourrait être le coupable, mais cela n'a eu aucun effet.

J'ai aussi essayé de supprimer le plugin Grails log4j (en le marquant comme champ « prévu » dans la pom), mais qui provoque l'erreur suivante lors du déploiement:

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 

Toute idée de ce que je aurais pu manquer ?

Une liste abrégée de mon dossier de guerre est ci-dessous:

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 

Et Config.groovy (avec application spécifique des choses supprimées):

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 
    } 
} 

Répondre

2

Grâce à certains points d'arrêt de débogage, j'ai pu pour déterminer que le plugin Grails log4j est le coupable. Il semble réinitialiser la configuration log4j globale au démarrage.

grails log4j plugin resets the configuration

Je vais poser une autre question sur la façon de le désactiver.