QuartzをLog4j2で出力する

現在の最新版quartz-2.2.1に同梱しているjarにslf4jがあり、そのバインディングとしてslf4j-log4j12-1.6.6.jarが入っている。このバインディングはlog4j1系のもので今使っているlog4j2には合わないんです。

slf4jの最新版を落としてきてライブラリを確認してもlog4j1系向けしか入っていない。うん。どうするかなと思いlog4j2の同梱jarを調べたらlog4j-slf4j-impl-2.0-rc2.jarというそれっぽいのを発見。ついでに公式にも情報があったので問題なさげかな、と。

ここからは余談。
slf4jは入口として実装ライブラリを呼ぶ仕組み。だけれど実装ライブラリ側が先行した場合に実装ライブラリ開発側がslf4jとのバインディングやアダプタを考えないといけないのは大変だなぁと思うわけですよ。当初は「slf4jがlog4jもサポートしているよ」だったものから、slf4jがデファクトスタンダードになって「slf4jの対応から遅れるとloggingのシェアを落とすことになる…」って戦々恐々しなきゃいけなくなるみたいな…あくまでも妄想ですが。

Javaのスケジュール処理

処理を定期的に実行したい、とある時間帯にのみ実行させたいという要求があるときにTaskやらJobやらというのを実装しなきゃなーと思い始める。OSの機能で言えばcronがあるけれど極力OSの機能には頼らずJavaのみで動作するのを目指したいところ。

Javaのライブラリを探してみると2つほど発見。

今回(ニコ動関連のあれ)はデータの定期取得やら状況に合わせた取得頻度、タイミングをコントロールしたいわけだけれど秒単位のスケジューリングが必要になることも考えられる。ぱっと見たところquartzの方がフィージビリティがありそうだけれど、cron4jがパッと見た感じはできなさそうだったこと。

もう一つは情報量の差。quartzの方は昔からあるみたいだけれどcron4jは最近みたい。


何か困った時に情報量が多い方がやはり助かる。というわけでquartzで実装し始める宣言の記事でした。

Lightboxに対応しました

今まで対応してなかったほうが驚きだけれど、気づいたのは一つ前の記事。画像貼り付けたけど画像リンク先に飛ばされるし…。

原因はpluginのinstallはしてたんだけれどactiveにしてかなかったというつまらないものでしたー。

lightboxあるかないかで見栄えも違いますね。:)