OS、言語、フレームワークなどのログレベル名称をまとめてみた
ログレベルを設計するためのインプットとして、OS/言語/フレームワークなどからログレベルがどう定義されているかを調べて、まとめてみた。意外と色んな名称が使われていて、まとめるの大変だった。
- 前提
- ログレベル(まとめ)
- ログレベル: ガチでやばい
- ログレベル: 割とやばい
- ログレベル: まあまあやばい
- ログレベル: やばい
- ログレベル: やばいかも
- ログレベル: お知らせ
- ログレベル: 情報
- ログレベル: 細かい
- ログレベル: めっちゃ細かい
- ログレベル: ばちくそ細かい
前提
注意事項
- ログレベル名の記述は Camel Case で統一する
- 言語のログは言語というより標準ライブラリの機能だが、言語のものとして取り上げる
- 今回選んだ OS、言語、フレームワークなどの選定基準は「テキトー」
情報源
- OS
- Framework
- Language
ログレベル(まとめ)
- Emergency/Severe/Fault/Assert/Unknown
- Alert/Fatal
- Critical/Critical Error
- Error
- Warning/Warn/Default
- Notice
- Info/Information
- Debug
- Verbose/Trace
- Config/Fine/Finer/Finest
ログレベル: ガチでやばい
ログレベル全体を通して一番上にあったやつ。
Emergency
- syslog
Severe
- Java
Fault
- iOS
Assert
- android
assert というと条件式が偽だったら Abort する命令を思い出すけども。
Unknown
- Rails
要するに「よーわからん」ってことでしょ。ちょっといいかげんやない?
ログレベル: 割とやばい
ログレベル全体を通して大体一番上(か二番目くらい)にあるやつ。
Alert
- syslog
Fatal
- log4j, Rails
- Ruby
ログレベル: まあまあやばい
いわゆる「エラー」よりもやばい位置づけのやつ。
Critical
- syslog
- Erlang, Python
Critical Error
- Windows
二単語やめてー。
ログレベル: やばい
いわゆるエラー。
Error
- syslog, Windows, android, iOS
- log4j, rails
- Erlang, Python, Ruby, Go, PHP
ログレベル: やばいかも
いわゆる警告。
Warning
- syslog, Windows
- Java, Python, PHP, Erlang
Warn
- android
- log4j, rails
- Ruby, Go
おしゃれなのは Warn ってイメージ?
Default
- iOS
Readable じゃないのでダメだと思う。
ログレベル: お知らせ
警告と情報の間くらいのやつ。
Notice
- syslog
- Erlang, PHP
ログレベル: 情報
その名のとおり情報。
Info
- syslog, android, iOS
- log4j, rails
- Java, Python, Ruby, Go, Erlang
Information
- Windows
Windows さん空気読んで。
ログレベル: 細かい
開発者向けの細かい世界。
Debug
- syslog, android, iOS
- log4j, rails
- Python, Ruby, Go, Erlang
ログレベル: めっちゃ細かい
さらに細かい。
Verbose
- Windows, android
Trace
- log4j
ログレベル: ばちくそ細かい
Java「どや?親切やろ?」
Config
- Java
Fine
- Java
Finer
- Java
Finest
- Java