OS提供のログサービスについてメモ

OSが提供しているログサービスについて簡単に整理したのでメモ。

Windows ログ:イベントログ

下記サイトが詳しい。

下記3つのイベントログを、管理ツール>イベント ビューアーで確認できる。

  • アプリケーションログ:アプリケーションプログラムが出力したログ
  • セキュリティログ:認証イベント(※1)やリソースアクセスイベントのログ
  • システムログ:OSのシステムコンポーネントのが出力したログ

※1:「管理ツール>ローカルセキュリティポリシー>ローカルポリシー>監査ポリシー」で監査を有効にした場合

最大サイズ設定、上書き・アーカイブ設定

管理ツール>イベントビューアー で、設定したいログを 右クリック>プロパティ から。
最大サイズに達したときの挙動は以下の設定が可能。(Windows 7 Professionalの場合で確認)

  • 必要に応じてイベントを上書きする(最も古いイベントから) ←デフォルト
  • イベントを上書きしないでログをアーカイブする
  • イベントを上書きしない(ログは手動で消去)
ログ出力

下記サイトが詳しい。

コマンドとVBScriptAPIを使った例が解説されている。
Javaからの出力については下記サイトに記載があった。

log4jのNTEventLogAppender(NTEventLogAppender.dllが必要)や、log4jnaというものがあるよう。
なお、下記サイトに記載の通り、syslog用のAppender(SyslogAppender)もある。

Unix/Linux ログ:/var/log

下記サイトが詳しい。

大きくは以下になる(?)。

  • ログイン関連ログ(バイナリ形式)
  • syslog利用ログ(テキスト形式)
  • その他ログ

なお、syslogは、UNIX/Linuxの標準的なログ出力方法である。
syslog利用のログは以下の通り。

  • boot.log:システム起動時のログ
  • cron:クロックデーモン(cronなど)のログ
  • maillog:メールシステムのログ
  • secure:認証関連のログ(sshdやsudoなどのログ)
  • spooler:UNIX間データ交換PGのログ
  • messages:上記以外の雑多なメッセージ(カーネルメッセージ〜その他プログラムのメッセージ)

syslogの出力先のデフォルトは messages 。

syslogの設定

設定ファイルは「/etc/syslog.conf」。ログの種類とログレベルに応じて出力先を設定できる。

ログローテーションは別途ツールを用いて行う必要がある。

ログ出力

loggerコマンドや、Javaなら上述の通りlog4jが使える。