【问题标题】:OpenShift WildFly Cartridge enabling logs with commons logging and Log4JOpenShift WildFly Cartridge 启用带有公共日志记录和 Log4J 的日志
【发布时间】:2014-10-29 03:19:16
【问题描述】:

我正在尝试在 WildFly OpenShift Cartridge 上部署一个旧版 web 应用程序,该应用程序使用带有 log4j 的公共日志记录来显示日志消息。 我已经搜索了整个互联网和 Stackoverflow,但到目前为止我得到的所有答案都不起作用! 到目前为止我尝试过的事情:

  • 排除所有日志 API 并使用 WildFly 的日志记录
  • Jboss 日志记录
  • JDK 日志记录
  • 系统退出日志记录
  • bla bla bla 日志记录
  • 使用属性 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

【问题讨论】:

  • 你能发布你的 log4j 配置吗?

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


【解决方案1】:

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

CLI 命令如下所示:

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

还要确保您的部署中没有包含任何已经存在的provided logging dependencies

【讨论】:

  • 非常感谢!我删除了项目中包含的所有日志 API 和 log4j.properties,它成功了!
猜你喜欢
  • 2014-06-19
  • 2020-10-25
  • 2011-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-17
  • 2010-09-22
相关资源
最近更新 更多