当前位置: 首页 > 知识库问答 >
问题:

如何将log4j2.xml传递给Tomcat应用程序

鲁泰宁
2023-03-14

我有在Tomcat 8服务器上运行的应用程序。应用程序使用log4j2进行内部日志记录。我想有一个application.war和两个不同的日志配置文件,如:log4j2_dev.xml和log4j2_prod.xml取决于环境。

在生产环境中,我希望部署应用程序。war并使用log4j2_prod.xml,在开发环境中部署应用程序。war并使用log4j2_dev.xml

那么,我如何指定在应用程序中使用哪个文件呢。战争部署?

另外,我不想用不同的配置构建两种不同的战争,比如应用程序生产战争和应用程序开发战争。

共有2个答案

聂奇
2023-03-14

也许您可以在构建中指定使用哪个配置文件?

例如,Dlog4j。configurationFile={path to file},其中路径将由构建开发或产品来确定?

赖绪
2023-03-14

$CATALINA_BASE/bin/setenv中。sh文件我添加了一行:

export LOG4J_CONFIGURATION_FILE=/dev/log4j2_dev.xml
 类似资料:
  • 问题内容: 我正在这样运行我的JavaFX应用程序: 类扩展。在特殊的FX线程中启动JavaFX窗口,但是在我的main方法中,我什至没有类的实例。 如何将非字符串参数(在我的情况下为 控制器 )传递给实例?它是有缺陷的设计吗? 问题答案: 通常,除了传递给您的主程序的程序参数外,无需将参数传递给主应用程序。想要这样做的唯一原因是创建一个可重用的对象。但这并不需要是可重用的,因为这是组装您的应用程

  • 问题内容: 我正在使用pm2启动我的应用程序,但无法将参数传递给它。我正在使用的命令是pm2 start app.js-dev。尽管这永远有效。 问题答案: 您可以按照此票证所述进行操作:https : //github.com/Unitech/pm2/issues/13 尽管如果通过环境,则可能需要考虑利用环境变量。使用此工具,您可以创建一个变量,该环境中的任何进程都可以访问该变量。 因此,您有

  • 我有一个Spring启动项目,在pom文件中声明了包装战争。 使用maven clean package命令,我能够构建war文件。下一步是使用启动war文件 重要的是,我通过一个参数(spring.config.name)工作正常。但我的问题是,当我在雄猫环境中部署这场战争时,我如何才能通过这个论点?我在tomcat的webapps文件夹中复制战争。但是我能通过上面提到的论点吗? 编辑以获得更多

  • 问题内容: 我的应用程序有一个JNLP软件包。现在,我需要将命令行参数传递给我的应用程序。如何扩展我的JNLP文件以列出命令行参数? 例如,我需要说和,并且需要在JNLP文件中提及。 问题答案: 请查看元素说明以获取元素的更多详细信息。 所述元素指示JNLP文件被启动应用(而不是小应用程序)。.. 可以通过包含一个或多个嵌套元素来为应用程序指定参数。 例如:

  • 我有一个JNLP软件包用于我的应用程序。现在我需要将命令行参数传递给我的应用程序。如何扩展JNLP文件以列出命令行参数? 例如,我需要说和和是JNLP文件的一部分。

  • 问题内容: 我试图将我的数据库对象传递给我的处理程序,而不是具有全局对象。但是我不知道这是否可行,我使用的是Gorilla Mux软件包,我可以看到它把闭包作为第二个参数。 然后定义了我可以使用的参数,理想情况下,我希望拥有这样的第三个参数。 有解决方法吗?还是我需要一个全局数据库对象?我是Go的新手,所以请详细说明可能的答案。 问题答案: 欢迎来到。 可以使用全局变量,特别是数据库对象。 但是,