2016-01-03 2 views
0

Рассмотрим следующий пример:с помощью журнала ротатор в Laravel

Это конф файл в: conf/log_rotation/laravel_rotate.conf

storage/logs/laravel.log { 
    missingok 
    notifempty 
    compress 
    size 1024k 
    daily 
    create 0640 
} 

инициируется этой Laravel задачи проводятся ежедневно:

<?php 

namespace App\Console\Commands; 

use Illuminate\Console\Command; 

class Logrotater extends Command 
{ 
    /** 
    * The name and signature of the console command. 
    * 
    * @var string 
    */ 
    protected $signature = 'log_rotater'; 

    /** 
    * The console command description. 
    * 
    * @var string 
    */ 
    protected $description = 'Rotates the logs on an hourly basis'; 

    /** 
    * Create a new command instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     parent::__construct(); 
    } 

    /** 
    * Execute the console command. 
    * 
    * @return mixed 
    */ 
    public function handle() 
    { 
     exec("logrotate -f config/log_rotation/tweet_rotate.conf"); 
     exec("logrotate -f config/log_rotation/laravel_rotate.conf"); 
    } 
} 

Когда я do: php artisan log_rotater Я получаю:

error: config/log_rotation/laravel_rotate.conf:1 unknown option 'storage' -- ignoring line 
error: config/log_rotation/laravel_rotate.conf:8 unexpected } 

Идеи относительно того, почему я получаю эту ошибку?

ответ

1

logrotate требует, чтобы путь был абсолютным, иначе он обрабатывает данную строку как параметр конфигурации. Вот почему вы получаете неизвестную опционную память ошибка.

Заменить

storage/logs/laravel.log 

с абсолютным путем.