«前の日記(2004-04-07 (水)) 最新 次の日記(2004-04-09 (金))»  

まちゅダイアリー


2004-04-08 (木)

カウンタ表示プラグイン (2)

おとといから導入しているカウンタ表示プラグインだけど、サンプル数が少ないせいで表示がかわいらしいことになっている(笑)。 日が経つにつれて成長していくんだろうなぁ。楽しみにしてよう。

ちなみに僕のところでも、ファイル名を明示するとログファイルがコピーされるようになった。

思ったことをメモ。

  • 小さいサイズでも、オプションで日付が入れられるといいなぁ。Since 2004.04 みたいに。
  • ログファイルがブラウザにキャッシュされて更新されないことがあるみたい。
Tags: tDiary

CGIのデバッグ

tDiary関係のエラーの原因を調べているんだけど、CGIスクリプトのデバッグはWebブラウザ経由になるから結構大変。 特に、最近のCGIは JSP や ERb などのように、見ためとロジックが分離されているので、 print 文によるデバッグが難しかったりする。 まぁ、ローカルに環境を作ってあげればいいんだろうけど、xrea みたいなレンタルサーバだと error.log も見れないんだよね。

そこで、ログファイルにデバッグ文を出力する方法が有効になりそう。 ログのユーティリティは Java だと log4j だから、ruby だと log4r かな?と推測してgoogleで調べると、いくつかページを発見。 さらにそこからたどっていくと、なひさんが作られている logger というライブラリを見つけた。 しかも、 ruby 1.8 には標準で付いているらしい。

さっそく、 tDiary に組み込んでみた。 使い方は tdiary.rb の冒頭にて、

require 'logger'
$logger = Logger.new('tdiary-debug.log')

のようにするだけ。(横着してグローバル変数にしている。もっといい方法があるかも)

あとは、デバッグ文を入れたいところで

$logger.debug 'some debug message (in ' + self.class.to_s + ')'

みたいにすれば、とりあえず OK かな。

ruby のようなオブジェクト指向は、実際に走らせて見ないとプログラムの流れが分かりにくかったりするから、これで流れを追えばかなり勉強になりそう。

追記

ログの出力をやめるには、loglevelを指定すればいいみたい。

require 'logger'
$logger = Logger.new('tdiary-debug.log')
$logger.level = Logger::WARN

詳しくは標準ドキュメントを参照。

Tags: tDiary
本日のツッコミ(全1件) [ツッコミを入れる]
phonondrive (2004-04-08 (木) 13:46)

オリジナルキャプションは検討してみます。Flash ファイルまわりの強力なキャッシュは悩みの種なんです。