ログを日付でローテーションやクリアや削除

2020/12/28

ログのクリア

Laravel のログファイルをクリアします。

デフォルトでは storage/logs/laravel.log に記載されています。

echo で削除

ターミナルで Laravel プロジェクトのホームに移動し、echo で空にします。


% echo "" > storage/logs/laravel.log

truncate で削除

Mac の場合 truncate が入っていないので、Homebrew でインストールします。


% brew install truncate

truncate でログをクリアします。


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

ログを日付ごとローテーション

ログの設定は、.env ファイルで簡単に設定できます。 デフォルトでは stack (複数のログチャンネルを一つのログチャンネルへ集結)になっています。


LOG_CHANNEL=daily

config/logging.php でも設定が可能で、デフォルトの設定は stack になっています。


'default' => env('LOG_CHANNEL', 'stack'),

利用可能なチャンネルドライバ

Laravel のログ設定に関しては公式を参考にしてください

参考)Laravel 7.x ログ

  • stack: 「マルチチャンネル」チャンネルを作成するためのラッパー機能
  • single: シングルファイル/パスベースのロガーチャンネル(StreamHandler)
  • daily: RotatingFileHandlerベースの毎日ファイルを切り替えるMonologドライバ
  • slack: SlackWebhookHandlerベースのMonologドライバ
  • syslog: SyslogHandlerベースのMonologドライバ
  • errorlog: ErrorLogHandlerベースのMonologドライバ
  • monolog サポートしているMonologハンドラをどれでも使用できる、Monologファクトリドライバ
  • custom チャンネルを生成するため、指定したファクトリを呼び出すドライバ

ログの保存日数を設定

ログファイルが増えた時にローテートしますが、config/logging.php でログの保存日数を指定できます。

cron などでログローテートする場合、パーミッションも設定しておきます。


'daily' => [
            'driver' => 'daily',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
            'days' => 7,
            'permission' => 0666,
        ],
GihHub のデフォルトでない master ブランチを checkout する
マルチログインで未認証のリダイレクト
Homebrew で Redis をインストール
CSS だけでスムーズスクロール
EC-CUBE4 で Gmail の smtp を利用する
Amazon Linux 2 の amazon-linux-extras とは
UNIQUE カラムのバリデーションで自分自身を除外して更新
フォーム有効期限切れで Page Expired をリダイレクト
ログを日付でローテーションやクリアや削除
Homebrew で PHP8.0 から PHP7.4 にダウングレード
Big sur で zsh 移行と Homebrew アップグレード
Mac に minikube をインストール
途中から .gitignore に追加する
Larevel 6.x から Laravel 8.x にバージョンアップ
Composer で Allowed memory size (メモリ不足)エラー
Blade でカスタムクラスを利用する
git push git pull にブランチ指定せずに実行する
git pull や git push できなくなったとき
Docker のコンテナからホストOS に接続
Mac で ローカル IP アドレス(ipv4)のみを表示する
ホストOS から Docker の MySQLコンテナに接続
caching_sha2_password のエラー
node-config で環境設定ファイルを利用する
rootパスワードを初期化(再設定)する
Git から clone したときのエラー対処
Mac に MySQL をインストール
Mac に PostgreSQL をインストール
Laravel 環境構築 - Mac ネイティブ編
Firebase 入門 - Firebase とは
Firebase 入門 - CLI インストールとデータベースの設定
AWS 無料枠(t2.micro)で容量とメモリエラー
Cloud9 を起動する -初心者編-
gcloud で GCEインスタンスを起動してみる
AWS CLI と jq でインスタンス一覧を整形して表示
React と Laravel7 のプロジェクトを作成する
Homebrewインストール-2020年版
3直線で囲まれた範囲塗りつぶし
PuLP で線形最適化問題を解く
カスタムのペジネーションを作る
node-sass を使って sass をコンパイルする
Log ファサードでSQLログを分離して書き出す
いちから始める Docker - 複数のコンテナを使う - (2020年)
いちから始める Docker - docker-compose を使う - (2020年)
AWS ECR を使ってみる
Laravel7 でマルチ認証
Mac に AWS Client を設定する
Laravel7 リリース
v-html でHTML表示する
Laravel で Nuxt.js を使ってみる(Docker環境)
Laravel で Vue コンポーネントを使う