Description of problem: business-central.war uses slf4j, but it bundles also several logging backend jars: WEB-INF/lib/log4j-1.2.17.jar WEB-INF/lib/logback-classic-1.0.9.jar WEB-INF/lib/logback-core-1.0.9.jar There are also two configuration files, one of them configures a FileAppender logging into '/tmp/jbpm-form-modeler-app.log': WEB-INF/log4j.xml WEB-INF/classes/logback.xml Most containers cope well with this situation, but EWS sometimes picks up wrong logging backend and might stop logging. I think that there should be only slf4j-api jar bundled within business-central and logging configuration could be left on the container (not 100 % sure about this one). What do you think? Version-Release number of selected component (if applicable): BRMS 6.1.0 ER4
fixed in the following commits: master: https://github.com/droolsjbpm/jbpm-form-modeler/commit/8d674761ed35dde7b3fc8fa250d728f1f9e6ed5d 6.2.x: https://github.com/droolsjbpm/jbpm-form-modeler/commit/dddad6684b623adfb2076a9bab3e20379f9b5147 master: https://github.com/droolsjbpm/kie-wb-distributions/commit/3bea35c575b0dcf54b1d839ea8cac5b7f21ccfdd 6.2.x: https://github.com/droolsjbpm/kie-wb-distributions/commit/d3893a65f4647dc14445b00f22a35609e594402a
I was about to create a BZ to unify the logging in BC and stumbled upon this one. I agree that we should rely on logging implementation supplied by the container as then it is way easier for users to configure the logging (no need to touch the war and config files there). Fro WAS8, this should be already in place. Only slf4j-api + slf4j-jdk14 are bundled within the WAR. See https://github.com/droolsjbpm/kie-wb-distributions/commit/6497faf9632a9e41ffcf963bf642da4831aa1c3c Tomcat7 WAR currently bundles logback.xml + logback jars. These should be removed and replaced by slf4j-jdk14 as Tomcat is using JUL for logging. WebLogic WAR bundles logback.xml + logback jars. Should be replaced by slf4j-jdk14. WebLogic is using JUL too. EAP 6.4 WAR bundles logback.xml + logback jars. EAP is using jboss-logging so we need to review this. It seems to be logging OK, but we may need to do some clean-up here too.
The WARs (all of them) also contain commons-logging and commons-logging-api jars. I think these should be replaced by the bridge jcl-over-slf4j.jar.
+1 to rely on container logging as this is what brings biggest value to the administrators as usually they know how to configure it. Moreover many containers allow modification to logging level without any change in the application or restart needs.
Fixed for Tomcat 7, EAP 6.4, WildFly 8 and JBossAS 7 WARs. WARs were configured to rely to container logging (e.g. no logging impl is bundled within them). Following are the individual commits in 6.2.x branch (the same was also cherry-pick into master): Tomcat 7: https://github.com/droolsjbpm/kie-wb-distributions/commit/96b38769573a0b044c9bfdd208573623327046f9 EAP 6.4: https://github.com/droolsjbpm/kie-wb-distributions/commit/a908d362093f7d11ddf2504bc42a660793963e3e WildFly 8: https://github.com/droolsjbpm/kie-wb-distributions/commit/2df2ba669652b5c8202f4cf6272b951a747f0444 JBossAS 7: https://github.com/droolsjbpm/kie-wb-distributions/commit/db5ca02fb3d1fb85bd382d6eaaec9386d26845f8 I also verified that the WARs are logging correctly, based on the container config. WebSphere and WebLogic WARs are next.
WebSphere 8: https://github.com/droolsjbpm/kie-wb-distributions/commit/2e2cb4cb7c9a0ddb30ed3edc4816832947d50aa6 WebLogic 12: https://github.com/droolsjbpm/kie-wb-distributions/commit/71ef9a37e6f8442f23045917b2805a549ddb9c71
Created attachment 1006246 [details] Additional logging libraries in deployable distributions compared to EAP 6.x distribution This file summarizes actual outcome of assembly changes in community repository (includes diff for all WAR components but this ticket is only targeted for business-central.war). Generally: - jboss-logging - needed for hibernate - jcl-over-slf4j - logging bridge between commons-logging and slf4j - slf4j-api - the single abstract logging API used by most of our components - slf4j-ext - SLF4J extensions, needed for unknown reason - slf4j-jdk14 - SLF4J binding to java.util.logging framework, that is by coincidence used by all supported containers (EWS, WAS, WLS). WAS and WLS distributions contain all of the above. Generic distribution (targeted for EWS) excludes slf4j-api and slf4j-jdk14, that need to be placed in Tomcat lib directory.
Business Central logging works on all supported containers.