今回すること
laravel5.5までと仕様が変わっているようなので、5.6の環境でLogファイルを出力するまでの手順をざっくり記載。
また、出力されるLogを監視するときのlessコマンドの使い方。
Laravel5.6でのLog出力
出力の設定
config/logging.phpの以下箇所でログ出力の設定ができる。
[php] ‘default’ => env(‘LOG_CHANNEL’, ‘stack’),[/php]
デフォルトではLog Channelsにstackを指定していて、stackで再びChannelsを指定している。
例えばLog Channelsをdailyに変更するときは以下のような例となる。
[php]
‘default’ => env(‘LOG_CHANNEL’, ‘stack’),
‘channels’ => [
‘stack’ => [
‘driver’ => ‘stack’,
‘channels’ => [‘daily’],
],
[/php]
各Channelsではログファイルの出力パスの設定や、ログレベルの設定、出力する期間などをChannelsごとに分けておくことができる。
出力の記述
Logを出力したいファイルのnamespaceにuse Log;を追加
Log::(レベル)(内容);の形式で記述する。
[php]
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Log;
class HomeController extends Controller
{
public function index(Request $request)
{
$message = ‘Logメッセージテスト’;
Log::debug($message);
}
}
[/php]
出力の確認
storage/logs内にLogファイルが出力される。
configファイルを変更したあとはキャッシュをクリアしておく。
[shell]
php artisan config:clear
[/shell]
Logファイルの監視方法
出力されるLogを常時監視しておきたい場合は、端末(ubuntu)でLogファイルがあるディレクトリまで移動し、lessコマンドでファイルを閲覧する。
[shell]
less (ファイル名)
[/shell]
その後shift+Fで監視状態に切り替えることで、指定のログファイルが更新されると随時そのログを閲覧することができる。
終了したいときはctrl+cで。