我只想保留Tomcat Access Log Valve创建的最近n天的访问日志。 http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html#Access%20Log%20Valve
但似乎没有配置 - 属性来定义保留日志文件的时间长度?我想这是因为“Access Log Valve”只创建日志文件并且不删除它们,这是正确的吗?
答案 0 :(得分:13)
默认情况下,rotatable
对于访问日志是正确的,因此您将每24小时创建一个新文件。
Tomcat本身不对旧文件进行任何管理,Unix系统的一般原则是在系统上设置一个cron作业,将旧文件存档到备份目录中和/或删除它们。
答案 1 :(得分:4)
对于Windows,基于Erwan在Tomcat localhost_access_log files cleanup中的答案,对于给定的文件夹并递归到所有子文件夹:
forfiles /p "C:\path\to\httplogs\" /s /m *.log /d -10 /c "cmd /c del @PATH"
要测试,只需使用:
forfiles /p "C:\path\to\httplogs\" /s /m *.log /d -10 /c "cmd /c dir /b @PATH"
如果日志文件夹中有多个后缀,例如.txt
和.log
,请参阅using FORFILES in batch to delete tmp and bak files older than a week:
for %%t in (.txt, .log) do forfiles /p "C:\path\to\httplogs\" /s /m *%%t /d -10 /c "cmd /c del @PATH"
答案 2 :(得分:3)
您可以尝试创建logrotate配置:
#cat /etc/logrotate.d/tomcat
/var/log/tomcat/*.log {
su tomcat tomcat
copytruncate
daily
rotate 6
compress
missingok
}
“su tomcat tomcat” - 我添加了以避免错误权限上的logrotate错误
答案 3 :(得分:1)
对于Apache Tomcat 7.0。您可以使用maxDays参数删除旧的日志文件。 https://tomcat.apache.org/tomcat-7.0-doc/config/valve.html
答案 4 :(得分:1)
对于tomcat 7 您可以配置tomcat / conf / logging.properties
例如:
1catalina.org.apache.juli.FileHandler.maxDays = 90
答案 5 :(得分:1)
对于 tomcat 9,它是访问日志配置的一部分。见http://tomcat.apache.org/tomcat-9.0-doc/config/valve.html#Access_Logging:
<块引用>最大天数
轮换访问日志在被删除之前将保留的最大天数。如果未指定,将使用默认值 -1,这意味着永远不会删除旧文件。
答案 6 :(得分:0)
我尝试使用最大天数配置来配置tomcat 7 logging.properties文件,但是它不起作用。以下是文件更改:
$("#submitboeking").click(function(event) {
event.preventDefault();
//Cursisten
var voornamen = [];
var achternamen = [];
var geslachten = [];
var geboortedata = [];
$("[id^='txtCursistVoornaam']").each(function() {
voornamen.push($(this).val());
});
$("[id^='txtCursistAchternaam']").each(function() {
achternamen.push($(this).val());
});
$("[id^='radCursistGeslacht']:checked").each(function() {
geslachten.push($(this).val());
});
$("[id^='txtCursistGeboortedatum']").each(function() {
geboortedata.push($(this).val());
});
$.ajax({
url: '/wp-content/themes/tweb/processboeking.php',
type: 'POST',
data:
{'geslachten': geslachten,
'voornamen': voornamen,
'achternamen': achternamen,
'geboortedata': geboortedata},
dataType: 'json',
success: function(data) {
console.log(data);
document.getElementById("overzichtboeking").innerHTML = data;
}
});
答案 7 :(得分:0)
在终端中运行:
locate RELEASE-NOTES | egrep 'tomcat|apache' | xargs grep "Apache Tomcat Version"