log紀錄檔使用





此篇為laravel log紀錄備忘錄


1.寫入檔案格式

laravel 寫檔格式分為幾種 可以選擇
config/app.php做設定
/*
|--------------------------------------------------------------------------
| Logging Configuration
|--------------------------------------------------------------------------
|
| Here you may configure the log settings for your application. Out of
| the box, Laravel uses the Monolog PHP logging library. This gives
| you a variety of powerful log handlers / formatters to utilize.
|
| Available Settings: "single", "daily", "syslog", "errorlog"
|
*/

'log' => 'daily',



上面所設的'log' => 'daily' or 'single'與否關係到 vendor/compiled.php
要使用那一個function邏輯

protected function configureSingleHandler(Application $app, Writer $log)

protected function configureDailyHandler(Application $app, Writer $log)



當我們想強迫指定log存放位置可以使用以下
但注意如果未修改 compiled.php 就會兩邊各存一份 log
if( Config::get('app.log_on'))
\Log::useDailyFiles(Config::get('app.log_path').Config::get('app.log_filename'));


那我們今天想改變我們寫檔結構
儲存的分資料夾的方式去儲存
且每一小時儲存一次

protected function configureSingleHandler(Application $app, Writer $log)
{
   $URL=dirname(dirname(__FILE__))."/storage/logs/";
   if(!is_dir($URL).date("Y")){
   mkdir($URL.date("Y"),0777);
   chmod($URL.date("Y"), 0777);
   if(!is_dir($URL).date("Y")."/".date("m")){
      mkdir( $URL.date("Y")."/".date("m"),0777);
      chmod( $URL.date("Y")."/".date("m"),0777);
      if(!is_dir($URL).date("Y")."/".date("m")."/".date("d")){
         mkdir( $URL.date("Y")."/".date("m")."/".date("d"),0777);
         chmod( $URL.date("Y")."/".date("m")."/".date("d"),0777);
            }
         }
   }

    $log->useFiles($app->storagePath() . '/logs/'.date("Y")."/".date("m")."/".date("d").'/'.date("H").'.log');
}


protected function configureDailyHandler(Application $app, Writer $log)
{
   $URL=dirname(dirname(__FILE__))."/storage/logs/";
   if(!is_dir($URL).date("Y")){
      mkdir($URL.date("Y"),0777);
      chmod($URL.date("Y"), 0777);
      if(!is_dir($URL).date("Y")."/".date("m").date("d")){
         mkdir( $URL.date("Y")."/".date("m").date("d"),0777);
         chmod( $URL.date("Y")."/".date("m").date("d"),0777);
         }
      }
   $log->useFiles($app->storagePath() . '/logs/'.date("Y")."/".date("m").date("d").'/'.date("H").'.log');

//    $log->useDailyFiles($app->storagePath() . '/logs/laravel-'.date("Y-m-d H").'.log',
5);
}


沒有留言:

張貼留言