lavansutil 概要
Logger
ログ機能を提供します。軽くて高速であり、エンタープライズ用途でも使えるようにログファイルの自動ロテート機能、複数のログファイルへの出力機能などがあります。またログ出力をインデントして出力するので、ログにいちいちメソッド名を含めなくても「どのメソッドから出力されたのか」がわかるので、実行コストの高いメソッド名出力を減らす事が出来ます。

SMTPやsyslogサーバーへメッセージを出力する機能はありません。
jdbc
簡単に利用できるコネクションプール機能を提供します。コネクション貸出先を自動で管理するので、返却忘れによるメモリリークを未然に防ぐことができます。
Oracle RACのようなクラスタリングされたDBへ接続している状態で、接続先のDBに障害が起きたときに自動で切り替えます。select文だけでなくinsert文やupdate文もフェイルーバーするので、oracleのネイティブドライバよりも優秀です。


複数の接続先を管理できます。接続先をまたいだトランザクション管理機能などはありません。NEW!一つの接続先であれば、コネクションクラスを持ち回る事無くトランザクションをかけられます。

Loggerと連動して自動的にSQLをログに出力します。出力先Loggerを設定ファイルで指定できるので、通常のデバッグ文出力と分けることができます。

SQL実行時間を記録できます。lavansutil/jsp/stats.jspで出力したサンプルです。lavansutil_eclipseパッケージに収録しています。

SQL文のバインド変数に変数名を埋め込むことができます。

DBCP対応。Hibernate等のツールからクラスタ接続やBindPreparedStatementが使えます。
java.sql.Driverのラッパークラスを作成しました。既存のjdbcプログラムに一切手を加えることなくSQL統計情報やSQLロギングが行えます。
browser
ユーザーが使用しているブラウザの各種情報を取得することができます。主に携帯電話向けの機能です。画面サイズ、壁紙サイズ、テキスト表示行などの情報が機種を意識することなく使えます。

機種情報はすべてxmlファイルに保存しているので、新機種が発売されても設定ファイルを更新するだけで対応できます。

2005/05/25現在の対応機種一覧

※現在機種設定ファイルの更新が止まっています。
これを利用していたシステムの一つは、次の担当者によってDBに機種情報を書き込むように改悪されました。おかげで他システムへの流用が面倒です。もう一つのシステムはどうしたんだろう。