代码之家  ›  专栏  ›  技术社区  ›  Robert Munteanu

以独立于平台的方式指定Websphere中的日志文件位置

  •  4
  • Robert Munteanu  · 技术社区  · 14 年前

    RollingFileAppender 在WebSphere7.0上,如何在log4j.properties文件中指定日志目录的位置,即获取Websphere的 LOG_ROOT

    2 回复  |  直到 14 年前
        1
  •  1
  •   gMale    14 年前

    当然,编写RollingFileAppender的自定义子类非常简单,它通过编程以独立于平台的方式确定LOG\u根变量的值。

    如果那样的话,它可能只需要十几行代码。然后跟进,

        <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参数,派生logu根路径,并在调用超类方法之前将其附加到文件名。

    我希望这能有所帮助,

        2
  •  4
  •   Manglu    14 年前

    JVM自定义属性可以在log4j.properties中使用。

    以下是实现相同目标的一些说明:

    应用程序服务器>服务器名称>进程定义>Java虚拟机>自定义属性

    Customer属性可以使用WebSphere变量作为自定义属性KeyForMyCustomProperty的值。WebSphere变量将使用标准模式:${}

    ${myu VARIABLE} .

    log4j属性文件可以通过

    log4j。appender.messageAppender.File文件= ${KeyForMyCustomProperty}

    这种方法并不简单,但可以达到预期的效果。您可以选择使用与JVM自定义属性的WebSphere变量相同的键,这样就好像在log4j.properties中使用了WebSphere变量一样

    HTH公司