如何使用 XML 将 Jetty 请求日志设置为默认时区
How to set Jetty Request Log to default Timezone using XML
我无法使用以下代码使用本地时区时间发出 Jetty Request-log 日志请求,
<Set name="LogTimeZone" type="java.lang.String">
<Get class="java.util.TimeZone" name="default">
<Get name="ID"/>
</Get>
</Set>
默认为 GMT。 setLogTimeZone() (http://download.eclipse.org/jetty/9.3.9.v20160517/apidocs/org/eclipse/jetty/server/AbstractNCSARequestLog.html#setLogTimeZone-java.lang.String-) 接受一个字符串参数,因此应该可以正常工作。但是,它没有!虽然,当直接提供所需的字符串时它工作得很好,
<Set name="LogTimeZone">Europe/London</Set>
码头日志(标准错误)似乎工作正常。这是已知错误吗?
使用的 Jetty 版本:9.1.1
将 getID()
的结果从 TimeZone.getDefault()
中提取到 xml id
属性中,然后在稍后的 <Set>
调用中使用<Ref>
元素。
在 Jetty 中如何工作的示例 XML:
foo.xml
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN"
"http://www.eclipse.org/jetty/configure_9_3.dtd">
<Configure id="foo" class="java.lang.Object">
<Get class="java.util.TimeZone" name="default">
<Get id="defaultTimeZone" name="ID"/>
</Get>
<Get id="sysout" class="java.lang.System" name="out">
<Call name="println">
<Arg>
<Ref refid="defaultTimeZone"/>
</Arg>
</Call>
</Get>
</Configure>
正在命令行上测试它...
$ cd /path/to/jetty-dist-9.3.9.v20160517/
$ java -cp lib/jetty-util-9.3.9.v20160517.jar:lib/jetty-xml-9.3.9.v20160517.jar \
org.eclipse.jetty.xml.XmlConfiguration foo.xml
2016-07-13 17:16:25.447:INFO::main: Logging initialized @121ms
America/Phoenix
我无法使用以下代码使用本地时区时间发出 Jetty Request-log 日志请求,
<Set name="LogTimeZone" type="java.lang.String">
<Get class="java.util.TimeZone" name="default">
<Get name="ID"/>
</Get>
</Set>
默认为 GMT。 setLogTimeZone() (http://download.eclipse.org/jetty/9.3.9.v20160517/apidocs/org/eclipse/jetty/server/AbstractNCSARequestLog.html#setLogTimeZone-java.lang.String-) 接受一个字符串参数,因此应该可以正常工作。但是,它没有!虽然,当直接提供所需的字符串时它工作得很好,
<Set name="LogTimeZone">Europe/London</Set>
码头日志(标准错误)似乎工作正常。这是已知错误吗?
使用的 Jetty 版本:9.1.1
将 getID()
的结果从 TimeZone.getDefault()
中提取到 xml id
属性中,然后在稍后的 <Set>
调用中使用<Ref>
元素。
在 Jetty 中如何工作的示例 XML:
foo.xml
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN"
"http://www.eclipse.org/jetty/configure_9_3.dtd">
<Configure id="foo" class="java.lang.Object">
<Get class="java.util.TimeZone" name="default">
<Get id="defaultTimeZone" name="ID"/>
</Get>
<Get id="sysout" class="java.lang.System" name="out">
<Call name="println">
<Arg>
<Ref refid="defaultTimeZone"/>
</Arg>
</Call>
</Get>
</Configure>
正在命令行上测试它...
$ cd /path/to/jetty-dist-9.3.9.v20160517/
$ java -cp lib/jetty-util-9.3.9.v20160517.jar:lib/jetty-xml-9.3.9.v20160517.jar \
org.eclipse.jetty.xml.XmlConfiguration foo.xml
2016-07-13 17:16:25.447:INFO::main: Logging initialized @121ms
America/Phoenix