如何在n天后删除Tomcat访问日志?

时间:2010-05-05 09:40:14

标签: tomcat logging

我只想保留Tomcat Access Log Valve创建的最近n天的访问日志。 http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html#Access%20Log%20Valve

但似乎没有配置 - 属性来定义保留日志文件的时间长度?我想这是因为“Access Log Valve”只创建日志文件并且不删除它们,这是正确的吗?

8 个答案:

答案 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

https://tomcat.apache.org/tomcat-7.0-doc/logging.html

答案 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"