簡単にLogについて調べた内容をまとめたものを綴りたいと思います。
Logとは
コンピュータの利用状況やデータ通信など履歴や情報の記録を取る事、またその記録を指す。操作やデータの送受信が行われた日時と、行われた操作の内容や送受信されたデータの中身などが記録される。
これは、私たちの生活に置き換えると、日記のようなものだと思います。
Logファイルとは
コンピュータの利用状況やプログラムの実行状況、データ通信の送受信状況などを記録したファイル
これは、上記であげた日記を記したノートようなものだと思います。
これら2点でLogについてはざっくりわかったと思います。
Logとは日記のようなもので、それを記したノートがLogファイル。
(※日記
のような解釈は私自身の解釈であって完全にイコールでは無い
ので、ニュアンス的な捉え方をして頂くと良いかと思います。)
Logを確認してみる
私は普段仮想環境下でCentOSを使って開発を行っていますので、CentOSを例に確認しようと思います。
CentOSがわからない方へ
[参考] https://wa3.i-3-i.info/word15502.html
まずLogファイルですが、CentOSの場合/var/log/
配下にLogファイルがありますので、確認してみましょう
[vagrant@local ~]$ cd /var/log/
[vagrant@local log]$ ll
合計 3860
-rw-r--r-- 1 root root 268 10月 21 04:47 VBoxGuestAdditions-uninstall.log
-rw-r--r-- 1 root root 148 1月 27 2016 VBoxGuestAdditions.log
-rw-r--r-- 1 root root 22222 11月 11 03:38 Xorg.9.log
-rw-r--r-- 1 root root 22852 11月 5 00:56 Xorg.9.log.old
drwxr-xr-x. 2 root root 4096 1月 27 2016 anaconda
drwxr-x---. 2 root root 22 1月 27 2016 audit
・
・
・
長いので一部割愛しましたが、このようにLogファイルが存在します。
/var/log/
配下にもディレクトリが存在する場合がありますが、その場合はそのディレクトリ内にLogファイルが存在します。
例えば
[vagrant@local log]$ ll
合計 3860
drwx------ 2 root root 141 11月 4 03:30 httpd
drwx------
このパーミッションを確認すると、先頭がd
となっています。
これは、ディレクトリという事を意味しています。
通常ファイルの場合-
が先頭に記されています。
なので、このLogファイルは、httpd
ディレクトリ内に存在する事になります。
パーミッションがわからない方へ
[参考] https://eng-entrance.com/linux-permission-basic
権限の関係上スーパーユーザー(rootユーザー)での操作に移行します。
スーパーユーザー(rootユーザー)がわからない方へ
[参考] https://eng-entrance.com/linux-root
[vagrant@local log]$ sudo su
[root@local log]# cd httpd/
[root@local httpd]# ll
合計 128
-rw-r--r-- 1 root root 0 11月 4 03:30 access_log
-rw-r--r-- 1 root root 11791 10月 21 08:05 access_log-20181028
-rw-r--r-- 1 root root 58997 11月 4 03:16 access_log-20181104
-rw-r--r-- 1 root root 1307 11月 11 03:38 error_log
-rw-r--r-- 1 root root 21545 10月 28 03:18 error_log-20181028
-rw-r--r-- 1 root root 24059 11月 4 03:30 error_log-20181104
このようにhttpd
ディレクトリ配下にLogファイルが存在する事が確認できたかと思います。
Logレベルについて
ログファイルに出力される情報の基準を定義する為の設定
どういった情報をどのファイルに出力するか、を設定する為の指標としてログレベルが存在します。
PHPにおけるPSR-3の場合、Logレベルは以下に細分化されて定義されています。
Logレベル | 概要 |
---|---|
emergency | システムが使用不可能な状態 |
alert | 直ちになんらかの対処の必要がある |
critical | 危機的な状態 |
error | 直ちに対処する必要のない実行時エラーだが、通常はログに記録して監視すべき |
warning | エラーではない例外的な出来事 |
notice | 正常だが、重要な事象 |
info | 興味深い事象 |
debug | 詳細なデバッグ情報 |
PSR-3
とは
PHP-FIG(PHP Framework Interop Group = PHPフレームワーク相互運用性グループ)が策定しているPHPコーディング規約
PHPフレームワーク相互運用性グループには色々な人がいるみたいだが、名前にもあるようにPHPのフレームワーク開発者などはだいたい属している
PSR-3というのは、目次の三章目みたいな感じで、PSR-3にはLogger Interface(ロガーインタフェース)の規約が掲載されている。
目次みたい、という事は当然他の項目には、例えばPSR-1にはBasic Coding Standard(基本的なコーディング標準)、PSR-6にはCaching Interface(キャッシングインターフェイス)などが記載されている
各PSRについて簡単にまとめられた記事がありましたので、掲載します。
[参考] http://rabbitfoot141.hatenablog.com/entry/2018/10/14/002210