我一般是新来的Laravel和PHP,我试图清除我的错误日志。我使用当前的错误日志是Laravel的laravel.log文件是在/ app /存储/日志。
有没有一种简单的方法来清除laravel.log文件?它是安全的删除它并在需要时它会重建吗?
我使用的是最新版本的Ubuntu。谢谢!
呼应一个空字符串,以它的工作,就像这样:
echo "" > storage/logs/laravel.log
该most efficient将它truncate
到一个大小为零:
truncate -s 0 /app/storage/logs/laravel.log
我平时坚持在我的控制器方法如下行,当我运行的SQL查询监听器:
exec("truncate -s 0 " . storage_path('/logs/laravel.log'));
如果您使用的是不同的monolog
通道设置,您可能需要调整您的日志文件的名称。
这里有一个可重复使用的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
对我来说最简单方法是使用vim。
$ vim laravel.log Then type ggdG Then :wq save and quit.
注:GG - 将光标移动到第一线
d - 删除
摹 - 在文件的结尾
只是简单地加入这一行要清除日志。 file_put_contents(storage_path('logs/laravel.log'),'');
这为我工作:
echo "" > storage/logs/laravel.log
您还可以创建自定义的工匠命令。
首先,运行命令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
从您的Laravel目录:
rm storage/logs/laravel-*.log
对于Laravel 5,这将是
truncate -s 0 storage/logs/laravel.log
你也可以这样做:: > storage/logs/laravel.log