gpt4 book ai didi

java - 如何使用 XML 将 Jetty 请求日志设置为默认时区

转载 作者:行者123 更新时间:2023-12-02 03:29:02 26 4
gpt4 key购买 nike

我无法使用以下代码使用本地时区时间发出 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 日志(标准错误)似乎工作正常。这是一个已知的错误吗?

使用的 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

关于java - 如何使用 XML 将 Jetty 请求日志设置为默认时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38354994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com