PEAR::Log::priorityToString() -- ログレベルの文字化

 ログレベルやハンドラ、実際のログ書き込みメソッド(log()等)をさしおいて、まずはあまり重要でないPEAR::Logの基底publicメソッドをつぶしておきます。
 まずはpriorityToString()。
 PEAR::Logのログレベル定数値をStringで表すためのメソッドです。
 通常は内部的にのみ使われるものですので独自にハンドラを組む人以外には使う用途はないと思います。
 実装も単純、説明することすらないもので、以下の通りになります。

function priorityToString($priority)
{
    $levels = array(
        PEAR_LOG_EMERG   => 'emergency',
        PEAR_LOG_ALERT   => 'alert',
        PEAR_LOG_CRIT    => 'critical',
        PEAR_LOG_ERR     => 'error',
        PEAR_LOG_WARNING => 'warning',
        PEAR_LOG_NOTICE  => 'notice',
        PEAR_LOG_INFO    => 'info',
        PEAR_LOG_DEBUG   => 'debug'
    );

    return $levels[$priority];
}

 これがどこに使われてるかといいますと(Fileハンドラを例にすると)、

Dec 06 00:36:38 Hoge [info] foo?
                      ^^^^
Dec 06 00:36:38 Hoge [notice] bar!
                      ^^^^^^

 ここになるわけです。
 ですので、ハンドラを組む人がこの文字列が気に食わない人などはここをオーバーライドするわけです。こういうものをメソッド化してくれているのは親切だなぁと思うところでもあります。*1
 けれど、通常は利用者側でこのメソッドを使うことはまずありません。
 ちなみに、このメソッドの逆として、stringToPriority()もありますが、割愛します。*2

*1:他のPEARのクラスやフレームワークなどでは割とこのレベルの拡張に対して閉じているものが多いような気も…

*2:すっかり存在を忘れてました