Elispでのログ出力をサポートするlog4e.elを作りました
これは何?
Emacsは大分前から使っていますが、ようやく最近Elispを書くようになりました。
で、Elispでロギングフレームワーク的なものはまだないようで、
自分の使っている拡張のコードを幾つか見てみると、
自前でデバッグ用のコードを仕込んでいたりしました。
ですが、最近はel-getなどのパッケージ管理も利用可能になってきているので、 ログ出力機能を別の拡張として切り出すことにしました。
Elispの作法などに詳しくないので、果たしてどれほどの利用価値があるかわかりませんが、 とりあえず、自分が使って大分良い感じになってきたので、公開することにしました。
特徴
ログ出力関連の関数を提供
以下のs式を対象のElisp内に記述することで、
(log4e:deflogger "hoge" "%t [%l] %m" "%H:%M:%S")
以下の関数やコマンドが定義されて使えるようになります。(※1)
- hoge--log-fatal (※2)
- hoge--log-error (※2)
- hoge--log-warn (※2)
- hoge--log-info (※2)
- hoge--log-debug (※2)
- hoge--log-trace (※2)
- hoge--log
- hoge--log-set-level
- hoge--log-enable-logging
- hoge--log-disable-logging
- hoge--log-enable-debugging
- hoge--log-disable-debugging
- hoge--log-debugging-p
- hoge--log-set-coding-system
- hoge--log-set-author-mail-address
- hoge--log-clear-log
- hoge--log-open-log
- hoge--log-open-log-if-debug
※1:同名の関数は定義しないようにしてもらわなければいけませんが。
※2:名称変更可能です。
ログバッファの色付け
ログ出力結果のバッファは以下のように色付けされます。
※以下のfaceを使用しています。
- font-lock-doc-face
- font-lock-keyword-face
- font-lock-string-face
- font-lock-warning-face
ログバッファでのキーバインド
ログ出力結果のバッファはview-modeを拡張したlog4e-modeになります。
view-modeに加えて、以下のキーバインドが追加されています。
- J - log4e:next-log ... 次のログの先頭に移動する
- K - log4e:previous-log ... 前のログの先頭に移動する
インストール
ソース置き場: https://github.com/aki2o/log4e
以下の方法があります。
package.elを使う場合
2013/07/19 melpaリポジトリからインストール可能になりました。
el-get.elを使う場合
2013/07/26 インストール可能になりました。ただし、まだmasterにしか登録されていません。
auto-install.elを使う場合
(auto-install-from-url "https://raw.github.com/aki2o/log4e/master/log4e.el")
手動の場合
上記URLにアクセスし、log4e.elをダウンロードしてロードパスの通った場所に配置
Enjoy!!!