イマドキのIDE事情 第10回グラフィカルなログビューアでログを手軽に分析してみよう
skill

イマドキのIDE事情 第10回
グラフィカルなログビューアでログを手軽に分析してみよう

2014.08.28

ent55_img01.jpg

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

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

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

■ Chainsaw

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

Javaで実装されており、SwingベースのGUIを備えている。

ent55_img02.jpg
Chainsaw

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

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

■ Otros Log Viewer

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

ent55_img03.jpg
Otros Log Viewer

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

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

■ LogSaw

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

ent55_img04.jpg
LogSaw

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

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

■ まとめ

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

テキスト形式のログファイルは、コマンドでも監視や検索が容易に行え、サーバ上のログを確認するのにGUIは適していないのは事実だ。

だが、ローカル環境で開発を行う場合、特に標準ではコマンドラインでのテキスト処理が貧弱なWindowsでは、このようなツールの利用を検討する価値はあるのではないだろうか。

原稿:竹添直樹
株式会社ビズリーチ所属。Scalaを愛するJVM系プログラマ。業務の傍らOSS開発や執筆活動を行っている。
https://twitter.com/takezoen

※本記事は2013年1月24日にマイナビニュースに掲載された記事を基に、一部加筆修正しています。

この記事はどうでしたか?

おすすめの記事

キャリアを考える

BACK TO TOP ∧

FOLLOW