<Parameter>
元素没有定义JNDI环境,而是一个servlet上下文参数(参见ServletContext#getInitParameter
)。
(或
log4j-jakarta-web
)工件中可用的Web Lookup:
${web:initParam.applicationName}
如果您不想手动定义应用程序名称,您可以:
${web:contextPathName}
将为根上下文提供“”,为 /foo
处的应用程序提供“foo”,为 /bar/baz
处的应用程序提供“bar”,<dependency>
<groupId>eu.copernik</groupId>
<artifactId>log4j-tomcat</artifactId>
<version>2.18.0</version>
</dependency>
并使用:
${tomcat:classloader.webappName}
这为您提供了根据 Tomcat 规则 编码的上下文路径:“ROOT”表示根上下文,“foo”表示/foo
,“bar#baz”表示/bar/baz
。它还适用于应用程序版本控制。备注: 配置文件中定义的属性是缺少查找值的默认值,因此如果您定义:
<Property name="foobar" value="${baz:foobar}"/>
如果 bar
查找没有“foobar”值,您将得到一个
recursive定义。
这与您的方法不同,但我相信这会给您带来洞察力。