スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Apache Moduleの作り方(3)

・その7
mod_backtraceで、どの関数で落ちたか分かるようになってそれはそれで便利に。
が、やっぱりデバッガ使いたい。
(エラー箇所のメモリの番地しかわからず、addr2lineの使い方もよくわからん)

今回作ろうとしているものは、「XMLを入力にして、データをかき集めて加工し、(XMLとは)別な形式で出力する」というもの。
あまりapacheのアーキテクチャーとは関係のない部分が多かったので、コマンドラインからも動かせるようにリファクタリング。(APRには依存しても、apacheには依存しないように修正)

一番のネックはロギングで、一番末端のロジックまでapacheが密着してしまっている。
マルチスレッドに対応しないといけないので、グローバル変数に頼るわけにもいかず困った。

結局、ログ出力関数をloggerクラスとしてラップし、これを各クラスで持ちまわすことで対応。
(ロジック中は抽象クラスで書いて、モジュール版はap_log_rerrorに出力するサブクラス、コマンドライン版ではstderrに出力するサブクラスをリンク)
スポンサーサイト

コメント

非公開コメント

プロフィール

fchiba

Author:fchiba
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。