🕳️

[log]mysql・laravel

2024/05/26に公開

DateBase(mysql)

  • mysql > SHOW VARIABLES LIKE 'general_log'; (一般ログが有効になっているか確認)
  • mysql > SHOW VARIABLES LIKE "%log%"; (データベースログファイルの場所を確認)
     → log_error | /var/log/mysql/mysqld.log
     → ターミナル・コマンドプロンプトでログ内容を確認:cat /var/log/mysql/mysql.log

php

Log::error("messageの内容は {$variable} "); (変数の値を含むテキストを出力)
Log::error('message', ['variable1' => $variable1, 'variable2' => $variable2]); (複数の変数の値を出力)
Log::error("message" . json_encode($variable));
(変数の値をJSON形式の文字列に変換→「message{"key":"value"}」)
 → ターミナル・コマンドプロンプトでログ内容を確認:cat laravel/storage/logs/error/laravel.log

bash(ターミナル・コマンドプロンプト)

logファイルの検索

  • ls -lR laravel/storage/logs/
    (定されたディレクトリ内のファイルとサブディレクトリの詳細なリストを再帰的に表示)
    • -l: 長い形式でリストを表示し、各ファイルの詳細(パーミッション、所有者、サイズ、最終更新日時など)を含みます。
    • -R: 再帰的にリストを表示し、サブディレクトリの内容も含めます。
  • ls laravel/storage/logs/*.log(指定されたパターンに一致するファイルのリストを表示)

logファイルの内容表示

  • cat laravel/storage/logs/laravel.log: (ログファイル全体を表示)
  • tail laravel/storage/logs/laravel.log: (ログファイルの最後の10行を表示)
  • tail -f laravel/storage/logs/laravel.log:
    (ログファイルの最後の10行を表示し、リアルタイムで更新を監視)

git

リポジトリのリファレンスログ(移動履歴)

$ git reflog (現在のローカルリポジトリにおけるブランチやHEADの移動履歴を表示)

リモートリポジトリの指定されたブランチの最新のコミットでの、
特定のディレクトリパス内のすべてのファイルとサブディレクトリのリストを表示します。
先にリモートブランチをローカルにフェッチする必要があります。
$ git ls-tree -r origin/ブランチ名 -- ディレクトリパス

ブランチのコミット履歴・詳細

  • コミット履歴
    $ git log (現在チェックアウトしているローカルブランチのコミット履歴)
    $ git log branch_name (特定のブランチのコミット履歴)
    $ git log path/to/file(特定のディレクトリやファイルのコミット履歴)
    $ git log branch_name_1 branch_name_2 path/to/file
    (複数のブランチやパスを指定してコミット履歴を表示)
    $ git log start_commit..end_commit (特定の範囲内のコミット履歴を表示)


    $ git log --oneline --name-only
    (コミットごとに変更されたファイル名、ハッシュ、コミットメッセージの一覧を表示)
    $ git log --name-status 
    (コミットごとに変更されたファイルとステータス(追加、変更、削除など)の一覧を表示)
    $ git log --stat (コミットごとに変更されたファイルと、各ファイルの変更行数の一覧を表示)
    $ git log -p (コミットごとに変更された内容のdiffも表示)

  • コミットの詳細
    $ git show (最新のコミットの詳細(変更内容、差分など)を表示)
    $ git show <コミットハッシュ> (特定のコミットの詳細を表示)
    $ git show --name-only <コミットハッシュ> (特定のコミットで変更されたファイルの一覧を表示)

  • ブランチの構造と分岐点(分岐元=ベース)
    $ git log --graph --all --decorate (全てのブランチのコミット履歴を可視化)
    $ git log --graph --decorate <branch_name> (特定のブランチのコミット履歴を可視化)
    $ git log --graph --decorate branch_name_1 branch_name_2 (複数のブランチのコミット履歴を可視化)


    $ git log --graph --oneline
    (現在チェックアウトしているローカルブランチのコミット履歴のみをを簡潔に可視化)
    $ git log --graph --oneline --all (リポジトリ内の全てのブランチのコミット履歴を簡潔に可視化)
    $ git merge-base branch_name_1 branch_name_2 
    (指定した2つのブランチの共通祖先(マージベース)コミットハッシュを特定)

差分を表示

  • 特定のブランチの差分
    $ git log branch_name_1 branch_name_2
    (ローカルブランチ1とローカルブランチ2に対して、それぞれに存在するコミットを表示)
    $ git log branch_name_1..branch_name_2
    (ローカルブランチ1には存在しないがローカルブランチ2には存在するコミットを表示)
    $ git log branch_name_2..origin/branch_name_2(ローカルブランチとリモートブランチの比較)

  • リモートリポジトリ(origin)とローカルリポジトリ(HEAD)の差分を抽出
    $ git log origin/branch_name..HEAD
    (指定したリモートブランチには存在しないが、チェックアウト中のローカルブランチのHEAD(最新のコミット)には存在するコミットの詳細)
    $ git log origin/branch_name..HEAD --oneline
    (指定したリモートブランチには存在しないが、チェックアウト中のローカルブランチのHEAD(最新のコミット)には存在するコミットの概要)

git log のオプション

  • --all:全てのリファレンス(ブランチやタグなど)のコミット履歴を表示
  • --oneline:各コミットを1行で表示し、コミットIDの短縮形とコミットメッセージの概要を表示
  • --name-only:各コミットで変更されたファイルの名前のみを表示
  • --name-status:各コミットで変更されたファイルの名前と、その変更の種類(追加、削除、変更)を表示
  • --stat:各コミットで変更されたファイルとその変更の行数(追加と削除の数)を表示
  • --decorate:コミット履歴にブランチ名やタグ名などのリファレンス情報を表示
  • --graph:コミット履歴をテキストベースのグラフ形式で表示し、ブランチやマージの関係を視覚的に表示

Discussion