这里真的很奇怪:我们的tomcat访问日志文件在Windows(Server 2012)资源管理器中显示0字节和过时的修改日期。它显然是空的,WinScp同意并且没有复制它 - 大概是因为它显然没有改变或显然是空的。我们有点"知道"该文件正在被修改。
但是,只要我们在Notepad ++中打开日志文件,它就会更新"虽然时间戳保持不变,但我们在文件中看到731KB和数据。即使我们只是TYPE(即cat)文件,我们也会更新大小。究竟是什么原因?这只是一个探险家的问题吗?
答案 0 :(得分:0)
缓冲
标记以确定是否将缓冲日志记录。如果设置为false,则将在每次请求后写入访问日志记录。默认值:true
因此,如果您想立即查看该文件的更改,请将buffered = "false"
添加到访问日志阀的属性中。
当buffered
设置为true
(默认值)时,JVM将仅在缓冲区达到其指定容量时才开始刷新内容,请注意,刷新不保证系统随后会立即将数据写入物理设备,尽管通常情况如此;此外,日志文件实际上永远不会关闭,valve
只是不断刷新新内容。
这可能解释了为什么修改日期完好无损。
参考:http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html#Access_Log_Valve