在Websphere 7.0上使用Log4J RollingFileAppender时,如何在log4j.properties文件中指定日志记录目录的位置,例如,拾取Websphere的LOG_ROOT变量?
发布于 2010-09-11 12:28:20
当然,编写一个以独立于平台的方式以编程方式确定LOG_ROOT变量值的RollingFileAppender自定义子类非常简单。
如果是这样,它可能只需要十几行代码。然后再跟进,
<appender name="CustomAppender" class="path.to.your.CustomAppender">
<param name="File" value="fileNameOnly.out" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m%n" />
</layout>
</appender>并让子类接受File参数,派生LOG_ROOT路径,并在调用超类方法之前将其附加到文件名中。
我希望这能对你有所帮助,
-gMale
发布于 2010-09-14 10:18:58
您可以选择指定一个可以使用WebSphere变量的JVM Custom属性。
JVM Custom属性可以在您的log4j.properties中使用。
下面是实现这一目标的一些说明:
在管理控制台中,路径为:
应用程序服务器>您的服务器名称>流程定义> Java虚拟机>自定义属性
Customer属性可以使用WebSphere变量作为自定义属性KeyForMyCustomProperty的值。WebSphere变量将使用标准模式:${}
例如${MY_VARIABLE}.
log4j属性文件可以通过以下方式访问此自定义属性
log4j.appender.messageAppender.File=${KeyForMyCustomProperty}/Message.log
这种方法并不简单,但却达到了预期的效果。您可以选择使用与JVM Custom属性的WebSphere变量相同的键,如果在log4j.properties中使用了WebSphere变量,则它将显示为
HTH芒格鲁
https://stackoverflow.com/questions/3633893
复制相似问题