日志文件夹在代码点火器中变得很重


Logs folder is becoming heavy in Codeigniter

我在代码点火器中启用了错误日志记录,我的日志文件夹路径application/logs/在此文件夹中,文件从Codeigniter自动创建为log-2015-03-17.phplog-2015-03-16.php等。

我希望自动删除超过两天的文件,

那么在代码点火器中有什么方法可以做到这一点,或者我必须为此目的创建一个cron

提前谢谢。

我建议你使用这个函数删除日志文件

我在这里删除所有 10 天前的文件

public function delteteLogFiles_get() {
    $path    = '../api/application/logs/';
    $files = opendir($path);
    while (($file = readdir($files)) !== false) {
        if(in_array($file, array('.', '..'))) continue;
        if (filectime($path.$file) <= time() - 14 * 24 * 60 * 60) {
            // echo '<pre>'; print_r($path.$file. "<br> file created ".filectime($path.$file)); echo '</pre>';
            unlink($path . $file);
        }
    }
    closedir($files); 
}

如果要清除日志文件夹中的所有文件,请删除此条件

if (filectime($path.$file) <= time() - 14 * 24 * 60 * 60) {

据我所知,这不应该由php/codeigniter处理,但这是一个服务器管理问题。如何,取决于你正在使用的服务器:例如,在Linux上,你可以使用"logrotate"(https://serverfault.com/questions/391538/logrotate-daily-and-size),在Windows上你可以从这里获取信息(https://serverfault.com/questions/418410/log-rotation-windows)。