当前位置: 首页 > 面试题库 >

如何在单个项目中使用多个配置和登录?

栾瑞
2023-03-14
问题内容

用于登录的配置文件可以在类路径中找到,因此是Eclipse项目特定的,这不是我想要的。我正在使用多个Java实用程序,它们全部都驻留在一个项目中(共享类路径),并且其中一些需要使用特定的配置。

我尝试了变量替换和Joram配置器,但没有任何效果。这很可能是我的错,我有一天要解决,但是现在我需要一个简单的解决方案。


问题答案:

选项1:使用logback.configurationFile系统属性指定登录配置文件的位置。实际上,这确实允许您在每个项目中拥有多个配置文件。根据logback文档,this属性的值可以是URL,类路径上的资源或应用程序外部文件的路径。例如:
-Dlogback.configurationFile=/path/to/config.xml

选项2:使用变量替换来设置具有系统属性的日志文件的名称。例如:

  1. 您的附加程序可以如下设置文件:
    <file>/var/tmp/${mycompany.myapplication}.log</file>

  2. 然后,您可以在启动java时指定该变量的值:
    -Dmycompany.myapplication=SomeUtility

选项3:使用系统属性设置记录器级别。这将使您登录更多/更少。例如:

  1. 将其放入您的logback配置文件中:
    <logger name="com.mycompany" level="${mycompany.logging.level:-DEBUG}"/>
    默认情况下,这将导致指定的包以DEBUG级别登录。

  2. 如果要在特定应用程序中将日志记录级别更改为INFO,则在启动该应用程序时将以下内容传递给html" target="_blank">java:
    -Dmycompany.logging.level=INFO

选项4:通过向Java传递系统属性命令行参数来添加/删除附加程序。这样您就可以登录到其他地方。请注意,条件处理需要使用janino。例如:

  1. 当然,将此放置到您的logback配置文件中,当然<appender-ref>,将ref值更改为您自己的<appender>s之一:
    <if condition="property("mycompany.logging.console").equalsIgnoreCase("true")"> <then><appender-ref ref="STDOUT"/></then></if>

  2. 如果要启用此附加程序,请在启动该应用程序时将以下内容传递给java:
    -Dmycompany.logging.console=true

关于系统属性,您可以将它们作为-D参数传递给java ,例如
java -Dmy.property=/path/to/config.xml com.mycompany.MyMain



 类似资料:
  • 问题内容: 如何管理处理同一数据库模式的多个项目。如果每个项目中的Flyway迁移脚本被另一个项目修改,则不允许启动。 例如: 我有一个带有FlywayInitializer类的Spring Boot ProjectX。 我有一个子模块Project Y,也有他自己的FlywayInitializer类 项目结构: 如何在Flyway中为Project X和Y使用相同的架构名称“ schema1”

  • 是否有可能为我的Unity应用程序配置多个Firebase项目,而无需深入Android或iOS代码?我尝试简单地切换google-services.json文件,但这未能将我的Unity应用程序指向正确的Firebase应用程序。理想情况下,我希望能够做这样的事情: 或者更好的方法是从Resources文件夹传递适当的google-services.json。

  • 示例:项目名称:1。CarMaintenanceProject.2.BikeMaintenanceProject。3.MotorCycleMaintenanceProject。 我想为每个项目一个登录,但可以访问多个项目,而不需要更多的登录,示例我成功登录BikeMaintenanceProject,然后我将访问MotorcycleMaintenanceProject而不登录。

  • craco 配置多项目入口! 需求如下: 在原有的项目中增加一个单独的html页面,想构建成两个不同的项目入口文件, 如: 构建完是 但是有各自的js引用文件, 又有公共的第三方库; craro:7.1.0 react-scripts: 5.0.1 webpack: 5.88.2 已经尝试使用customize-cra + react-app-rewire-multiple-entry 实现,并且

  • 问题内容: Sherlog是基于OSGi的日志分析器,如果我将此项目作为工作区快照导入,则我的工作区中会收到很多项目,但是我希望将它们作为项目中的子项目。 另一个选择是从svn签出,但是然后我遇到了其他问题(我不知道如何设置依赖项以进行自动构建) 是否有人对此主题有想法或好的链接?谢谢 问题答案: Eclipse不支持子项目。Eclipse的生活方式是工作空间中的一个或多个项目(也许使用工作集来避

  • 我有一个Facelets页面,其中包含