在已部署的战争中使用log4j

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在已部署的战争中使用log4j相关的知识,希望对你有一定的参考价值。

我在JBoss服务器上做了一个简单的RESTful服务,当它收到任何请求时只是说“你好”。此部分有效,已部署。为了进一步完成我的项目,我需要登录。服务器上的其他应用程序使用由放置在服务器上特定文件夹中的log4j.xml配置的log4j。对于离线项目,我习惯有一个可运行的main方法,在这种情况下我会用来执行DOMConfigurator.configure(filepath)(其中filepath是log4j.xml),我将期望使用这些设置进行记录。但是,由于这是一个已部署的服务(因为我自己还不够熟练),我怎么会这样呢?我认为的问题可以用两种方式解释:

  • 当我部署某些内容时(以与main方法类似的方式),我如何“确定”运行一些代码?我需要弹簧靴这样的东西吗?
  • 如何在JBoss上的已部署服务上设置log4j?

(我不知道一个问题是否排除另一个......)

谢谢您的帮助!

答案

1)如果你想“肯定”运行一些代码,你可以在你的一个bean中创建@PostConstruct方法。 Spring和EJB都支持它。

2)对于log4J配置,它应该足以将它放在类路径中并添加相应的依赖项,不需要显式路径配置。

以上是关于在已部署的战争中使用log4j的主要内容,如果未能解决你的问题,请参考以下文章

在 Glassfish 中部署战争文件失败

使用 Jetty 和 log4j 设置外部 webapp 日志配置

Tomcat“Log4J”上的 Grails WAR 根本不起作用

如何使用詹金斯管道将战争部署到tomcat?

缺少 Grails 弹簧安全插件插件?

仅在已部署的 Qt 应用程序上出现未知的网络相关错误