OS、言語、フレームワークなどのログレベル名称をまとめてみた

ログレベルを設計するためのインプットとして、OS/言語/フレームワークなどからログレベルがどう定義されているかを調べて、まとめてみた。意外と色んな名称が使われていて、まとめるの大変だった。

前提

注意事項

  • ログレベル名の記述は Camel Case で統一する
  • 言語のログは言語というより標準ライブラリの機能だが、言語のものとして取り上げる
  • 今回選んだ OS、言語、フレームワークなどの選定基準は「テキトー」

情報源

ログレベル(まとめ)

  • 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