OpenShift WildFly Cartridge使用commons日志记录和Log4J启用日志

时间:2014-09-04 11:31:54

标签: logging log4j openshift wildfly apache-commons-logging

我正在尝试在WildFly OpenShift Cartridge上部署一个遗留Web应用程序,它使用通过log4j记录的公共空间来显示日志消息。 我已经搜索了整个互联网和Stackoverflow,但到目前为止我得到的所有答案都没有用! 我到目前为止所做的事情:

  • 排除所有日志API并使用WildFly中的日志记录
  • Jboss Logging
  • JDK Logging
  • 系统输出记录
  • bla bla bla logging
  • 使用属性use-deployment-logging-config和add-logging-api-dependencies并使用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 &启动jboss

只有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

1 个答案:

答案 0 :(得分:1)

如果部署中有log4j配置文件,请将其删除或将属性use-deployment-logging-config设置为false。将该属性设置为false将要求您通过CLI或类似的东西执行管理操作。

CLI命令如下所示:

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

另外,请确保您的部署中不包含任何provided logging dependencies