如何配置码头上的电梯记录

时间:2012-08-07 16:42:58

标签: log4j jetty lift

这是电梯中log4j的配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM
        "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
<log4j:configuration threshold="trace" xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="CA" class="org.apache.log4j.FileAppender">
        <param name="File" value="sample.log"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{ISO8601}] %-8r [%t] %-5p %c %x - %m%n"/>
        </layout>
    </appender>
    <root>
        <level value="trace"/>
        <appender-ref ref="CA"/>
    </root>
</log4j:configuration>

这是Boot.scala中的相关部分

Logger.setup = Full(Log4j.withFile(getClass.getResource("/props/default.log4j.xml")))

我在码头6.22上运行电梯应用程序。当我用“码头服务开始”开始码头时, 它在jetty tmp_dir文件夹/var/cache/jetty/tmp/sample.log中创建日志文件

如何配置它以在其他位置创建日志文件?例如,jetty日志文件夹。

1 个答案:

答案 0 :(得分:2)

由于您只在FileAppender声明中使用文件名'sample.log',因此Jetty将日志文件存储在其工作目录中。

解决方案是指定绝对路径,或者可能使用变量。例如:

<param name="File" value="${java.io.tmpdir}/sample.log"/>

将sample.log存储在依赖于操作系统的java.io.tmpdir中。

花括号内的值是系统属性。您可以在命令行上将任何内容指定为系统属性,然后在Log4J文件中访问它。例如:

java -Dmyloggingdir=/var/tmp/myloggingdir

然后:

<param name="File" value="${myloggingdir}/sample.log"/>

如果Jetty日志记录目录是系统属性,那么您应该能够访问它。