Websphere Liberty:如何指定 log4j2 配置位置?
Websphere Liberty: How to specify log4j2 configuration location?
我试图告诉 Websphere Liberty 我的 log4j2.xml
文件在哪里,但它不起作用。
在我的文件中jvm.options
我配置:
-Dlog4j.configurationFile=file:///${server.config.dir}/log4j2.xml
但 Liberty 似乎不理解 jvm.options 文件中的变量 ${server.config.dir}。该文件与 server.xml
文件位于同一目录中。
如何指定 Liberty 的 log4j2.xml 位置?
我认为应该可以通过在 server.xml 中创建一个库条目来实现,例如:
<library id="log4jLib">
<folder dir="/opt/log4j2/config"/>
</library>
其中指定的目录包含 log4j2 属性或 xml 文件。
然后像这样为您的应用程序指定一个类加载器:
<application id="test" name="test" type="ear" location="test.ear">
<classloader commonLibraryRef="log4jLib" />
</application>
${server.config.dir}
变量是 Liberty 内置服务器配置变量之一,这些仅适用于 server.xml(以及包含的配置)。
当你 运行 一个 Liberty 服务器时,user.dir
被设置为与 ${server.config.dir}
相同的东西,所以你可以只指定 log4j2.xml 的相对路径jvm.options 中的文件为:
-Dlog4j.configurationFile=log4j2.xml
有几种方法可以在 WebSphere 中配置 log4j。除了pseudonym提到的库入口方法,你可以简单地将log4j2配置文件拖放到
的全局库目录中
wlp/usr/servers//lib/global
如果应用程序启动时上述位置存在文件,并且该应用程序未配置 classloader 元素,则该应用程序将使用这些库。如果存在 class 加载程序配置,除非显式引用全局库,否则不会使用这些库。
您可以在此 link
中找到有关全局库的更多详细信息
对于 Liberty,我执行以下操作;
我有一个 jvm.options 文件包含:
-Dlog4j.configurationFile=log4j2.xml
我将两个文件(log4j2.xml 和 jvm.options)都放在服务器配置中。
即旅游 server.xml 等的位置:
usr/servers/<myserver>:
server.xml
jvm.options
log4j2.xml
这对我有用。
我试图告诉 Websphere Liberty 我的 log4j2.xml
文件在哪里,但它不起作用。
在我的文件中jvm.options
我配置:
-Dlog4j.configurationFile=file:///${server.config.dir}/log4j2.xml
但 Liberty 似乎不理解 jvm.options 文件中的变量 ${server.config.dir}。该文件与 server.xml
文件位于同一目录中。
如何指定 Liberty 的 log4j2.xml 位置?
我认为应该可以通过在 server.xml 中创建一个库条目来实现,例如:
<library id="log4jLib">
<folder dir="/opt/log4j2/config"/>
</library>
其中指定的目录包含 log4j2 属性或 xml 文件。
然后像这样为您的应用程序指定一个类加载器:
<application id="test" name="test" type="ear" location="test.ear">
<classloader commonLibraryRef="log4jLib" />
</application>
${server.config.dir}
变量是 Liberty 内置服务器配置变量之一,这些仅适用于 server.xml(以及包含的配置)。
当你 运行 一个 Liberty 服务器时,user.dir
被设置为与 ${server.config.dir}
相同的东西,所以你可以只指定 log4j2.xml 的相对路径jvm.options 中的文件为:
-Dlog4j.configurationFile=log4j2.xml
有几种方法可以在 WebSphere 中配置 log4j。除了pseudonym提到的库入口方法,你可以简单地将log4j2配置文件拖放到
的全局库目录中wlp/usr/servers//lib/global
如果应用程序启动时上述位置存在文件,并且该应用程序未配置 classloader 元素,则该应用程序将使用这些库。如果存在 class 加载程序配置,除非显式引用全局库,否则不会使用这些库。
您可以在此 link
中找到有关全局库的更多详细信息对于 Liberty,我执行以下操作; 我有一个 jvm.options 文件包含:
-Dlog4j.configurationFile=log4j2.xml
我将两个文件(log4j2.xml 和 jvm.options)都放在服务器配置中。 即旅游 server.xml 等的位置:
usr/servers/<myserver>:
server.xml
jvm.options
log4j2.xml
这对我有用。