2014-09-04 153 views
0

我想在WildFly OpenShift Cartridge上部署一個傳統webapp,它使用公共日誌記錄和log4j來顯示日誌消息。 我搜索了整個互聯網和Stackoverflow,但迄今爲止所有的答案都不起作用! 事情到目前爲止,我已經試過:OpenShift WildFly Cartridge啓用日誌與公用日誌記錄和Log4J

  • 排除所有日誌API和使用日誌記錄從WildFly
  • Jboss的記錄
  • JDK日誌
  • 系統進行登錄
  • 唧唧歪歪記錄
  • 使用屬性use-deployment-logging-config和add-logging-api-dependencies並啓動jboss與nohup /var/lib/openshift/540544b2500446d0e6000065/wildfly/bin/standalone.sh -b $OPENSHIFT_WILDFLY_IP -bmanagement=$OPENSHIFT_WILDFLY_IP -Duse-deployment-logging-config=true -Dadd-logging-api-dependencies=false > /dev/null &

只有WildFly能夠登錄控制檯!沒有其他的! 我不知道這是OpenShift WildFly盒式磁帶還是WildFly本身特有的東西。如果有人知道如何使用commons-log(使用 private static final Log LOG = LogFactory.getLog(MyClass.class);),請報告!

這是我的log4j.properties

log4j.rootLogger=INFO, LOG 
log4j.appender.LOG=org.apache.log4j.ConsoleAppender 
log4j.appender.LOG.layout=org.apache.log4j.PatternLayout 
log4j.appender.LOG.layout.ConversionPattern=%d %p %c - %m%n 
+0

你可以發佈你的log4j配置嗎? – Abhin 2014-09-04 15:07:11

回答

1

如果在部署或者刪除或屬性use-deployment-logging-config設置爲false log4j的配置文件。將該屬性設置爲false會要求您通過CLI或類似的方式執行管理操作。

CLI命令將如下所示:

/subsystem=logging:write-attribute(name=use-deployment-logging-config, value=false) 

另外,還要確保你不包括任何的部署已經provided logging dependencies

+0

非常感謝!我刪除了項目中包含的所有日誌API和log4j.properties,它解決了! – 2014-09-05 00:21:25