在PHP Laravel,我怎么清楚laravel.log?

问题描述 投票:22回答:10

我一般是新来的Laravel和PHP,我试图清除我的错误日志。我使用当前的错误日志是Laravel的laravel.log文件是在/ app /存储/日志。

有没有一种简单的方法来清除laravel.log文件?它是安全的删除它并在需要时它会重建吗?

我使用的是最新版本的Ubuntu。谢谢!

php laravel-4
10个回答
56
投票

呼应一个空字符串,以它的工作,就像这样:

echo "" > storage/logs/laravel.log

most efficient将它truncate到一个大小为零:

truncate -s 0 /app/storage/logs/laravel.log

0
投票

我平时坚持在我的控制器方法如下行,当我运行的SQL查询监听器:

exec("truncate -s 0 " . storage_path('/logs/laravel.log'));

如果您使用的是不同的monolog通道设置,您可能需要调整您的日志文件的名称。


15
投票

这里有一个可重复使用的artisan命令,将节省您的时间和精力:)

Artisan::command('logs:clear', function() {

    exec('rm ' . storage_path('logs/*.log'));

    $this->comment('Logs have been cleared!');

})->describe('Clear log files');

放弃这一在routes/console.php然后只需运行php artisan logs:clear


7
投票

对我来说最简单方法是使用vim。

$ vim laravel.log

Then type ggdG

Then :wq save and quit.

注:GG - 将光标移动到第一线

d - 删除

摹 - 在文件的结尾


6
投票

只是简单地加入这一行要清除日志。 file_put_contents(storage_path('logs/laravel.log'),'');


3
投票

这为我工作:

echo "" > storage/logs/laravel.log

2
投票

您还可以创建自定义的工匠命令。

首先,运行命令php artisan make:command Log/ClearLogFile创建自定义命令文件。

然后,在Console/Commands/Log/ClearLogFile.php打开的文件(取决于你Laravel版本,目前我使用的是5.5版本)

在此之后,你需要定义自定义命令代码,看看

// Define command name
protected $signature = 'log:clear';

// Add description to your command
protected $description = 'Clear Laravel log';

// Create your own custom command
public function handle(){
    exec('echo "" > ' . storage_path('logs/laravel.log'));
    $this->info('Logs have been cleared');
}

然后,你只需要像其他PHP的工匠命令来运行,

php artisan log:clear

谢谢你,为@emotality answer


1
投票

从您的Laravel目录:

rm storage/logs/laravel-*.log

0
投票

对于Laravel 5,这将是

truncate -s 0 storage/logs/laravel.log

0
投票

你也可以这样做:: > storage/logs/laravel.log

© www.soinside.com 2019 - 2024. All rights reserved.