Jetty NCSARequestLog 使用java.util.TimeZone。
GMT
是 NCSA 格式的日志文件的默认值,因为这是各种日志分析工具所期望的。
听起来您希望 NCSA 格式的日志使用夏令时感知的时区。在这种情况下,您确实有 1 个选择,请使用适合您的系统和环境的长格式时区。
以下是有关英国伦敦的详细信息:http ://www.timeanddate.com/worldclock/city.html?n=136
您需要的是由您的系统识别的 TimeZone 字符串。意思是:
创建一个简单的 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"
)开头的条目
现在在您的配置中使用那个长格式的 TimeZone 标识符。
<Set name="LogTimeZone">Europe/London</Set>