我使用的码头8和我配置我的jetty.xml定制requests.log文件。
我的问题是,码头与在GMT时区的时间戳服务日志 - 我在英国,但它现在的夏令时(GMT + 1,又名,BST)。 可能是因为:
<Set name="LogTimeZone">GMT</Set>
如何获取码头使用任何服务器上的本地时间(这是正确的)服务日志? 简单地拔下<Set name="LogTimeZone">GMT</Set>
没有做任何事情,我不想手动更改它的每一个6ish个月。
谢谢
码头NCSARequestLog使用java.util.TimeZone中 。
GMT
是NCSA格式的日志文件的默认,因为这是不同的日志分析工具的期望。
这听起来像你想的NCSA格式的日志,使用时区是夏令知道。 在这种情况下,你真的首选1,使用长格式时区适合您的系统和环境。
下面是关于英国伦敦的细节: http://www.timeanddate.com/worldclock/city.html?n=136
你需要的是将被系统识别的时区字符串。 意思是:
- 时区标识符不使用GMT偏移量符号
- 时区标识符不是三字母(见“三字母时区ID”的javadoc部分 )
- 时区标识符是长形式。
创建一个简单的Java源文件并运行(您的系统上),下面的代码。
package time;
import java.util.TimeZone;
public class TZDump
{
public static void main(String[] args)
{
TimeZone mytz = TimeZone.getDefault();
System.out.printf("The TimeZone for this machine: %s%n", mytz);
for (String string : TimeZone.getAvailableIDs(mytz.getRawOffset())) {
System.out.println(string);
}
}
}
所以,我的机器,这个报告...
SystemV/MST7MDT
US/Arizona
US/Mountain
我很幸运,因为这是列表很小,对我来说一个好处是,我住的地方特务飞龙节约时间没有观察到。 就我而言,我将使用"US/Arizona"
。
在你的情况,你会看到一个更大的列表(只是因为你是如此接近欧洲)。 选择开头的条目"Europe/"
(我猜你的将是"Europe/London"
)
现在使用的是长形的时区标识符配置。
<Set name="LogTimeZone">Europe/London</Set>