様々なログビューア

OSやミドルウェア、もちろん一般的なアプリケーションまで、多くのソフトウェアはログを出力している。これらのログは、障害発生時の解析を目的としていたり、運用中のソフトウェアの情報を取得するためのものであったり、はたまた開発時に使用するためのデバッグログであったりと、その目的や形式も様々だ。

このようなログの出力には、一般的にロギングライブラリが使用される。Javaであれば、Log4jやSLF4J/LogBackといったライブラリが有名だ。これらのロギングライブラリを使用して出力したログは、基本的にテキストファイルなのでコマンドや簡単なスクリプトを使用して加工したり検索したりすることが可能だが、より手軽にログを分析するためのツールとして、GUIを備えたログビューアが存在する。

今回は様々なログビューアの中から、Chainsaw、Otros Log Viewer、LogSawの3つを紹介する。

Chainsaw

Chainsawは、Log4jのサブプロジェクトとして開発されていることもあり、グラフィカルなログビューアの中では最も有名なものだろう。Javaで実装されており、SwingベースのGUIを備えている。

図1 : Chainsaw

Log4jのサブプロジェクトとして開発されていることからもわかるように、Log4jとセットで使用することを前提としており、Log4jが備えているネットワーク系のアペンダ(SocketAppenderなど)が送信するログのレシーバとして利用できるのが特徴だ。もちろんファイルシステム上のログファイルを監視することもできる。

機能はシンプルで、設定画面なども素っ気なくやや扱いにくい印象だ。また、最後のリリースが2006年となっており、開発が止まってしまっているのも残念なところだ。正式にリリースされたものではないが、2011年に開発者の手によってスナップショット版がアップされているので、こちらを試してみるのもいいかもしれない。

Otros Log Viewer

Otros Log Viewerは、Chaisawを強化したようなログビューアだ。機能的にはChainsawに似ているが、より洗練されたGUIを備えている。

図2 : Otros Log Viewer

ローカルディスクのログファイル以外にもFTP、SFTP、SSH、Sambaなどを経由してリモートサーバ上のログファイルを開くことができる(ただし監視できるのはローカルディスクまたはSFTPの場合のみ)。

読み込むログファイルのパターンはもちろんカスタマイズ可能だが、実際にログがどのようにパースされるかをプレビューしながらパターンの設定を行うことができるなど、なかなか気の利いた機能が提供されている。

LogSaw

LogSawは、Eclipseベースのログビューアだ。EclipseRCPアプリケーションとして配布されている。

図3 : LogSaw

デフォルトでJBossやWebSphereのログフォーマットなどに対応しているが、対象はローカルファイルのみでリアルタイム監視もできない(手動でリフレッシュする必要がある)など、機能面では今一歩というところだ。

Eclipseベースのログビューアとしてはこの他にEclipse Logfile ViewerLog4j viewer for Eclipse IDEなどがある。開発環境としてEclipseを使っているのであれば、これらのプラグインを試してみてもいいだろう。

まとめ

今回紹介したようなグラフィカルなログビューアは、マイナーなものまで含めると実はかなりの数のプロダクトが存在する。

テキスト形式のログファイルは、コマンドでも監視や検索が容易に行え、サーバ上のログを確認するのにGUIは適していないのは事実だ。だが、ローカル環境で開発を行う場合、特に標準ではコマンドラインでのテキスト処理が貧弱なWindowsでは、このようなツールの利用を検討する価値はあるのではないだろうか。