选项1:使用logback.configurationFile系统属性指定登录配置文件的位置。实际上,这确实允许您在每个项目中拥有多个配置文件。根据logback文档,this属性的值可以是URL,类路径上的资源或应用程序外部文件的路径。例如:
-Dlogback.configurationFile=/path/to/config.xml
选项2:使用变量替换来设置具有系统属性的日志文件的名称。例如:
您的附加程序可以如下设置文件:
<file>/var/tmp/${mycompany.myapplication}.log</file>然后,您可以在启动java时指定该变量的值:
-Dmycompany.myapplication=SomeUtility
选项3:使用系统属性设置记录器级别。这将使您登录更多/更少。例如:
将其放入您的logback配置文件中:
<logger name="com.mycompany" level="${mycompany.logging.level:-DEBUG}"/>
默认情况下,这将导致指定的包以DEBUG级别登录。如果要在特定应用程序中将日志记录级别更改为INFO,则在启动该应用程序时将以下内容传递给java:
-Dmycompany.logging.level=INFO
选项4:通过向Java传递系统属性命令行参数来添加/删除附加程序。这样您就可以登录到其他地方。请注意,条件处理需要使用janino。例如:
当然,将此放置到您的logback配置文件中,当然
<appender-ref>
,将ref
值更改为您自己的<appender>
s之一:<ifcondition="property("mycompany.logging.console").equalsIgnoreCase("true")"><then><appender-ref ref="STDOUT"/></then></if>如果要启用此附加程序,请在启动该应用程序时将以下内容传递给java:
-Dmycompany.logging.console=true
关于系统属性,您可以将它们作为
-D参数传递给java ,例如
java -Dmy.property=/path/to/config.xml com.mycompany.MyMain



