追記

mod_perl: Apache2::Log - Perl API for Apache Logging Methods
http://perl.apache.org/docs/2.0/api/Apache2/Log.html#Virtual_Hosts

Code running from within a virtual host needs to be able to log into its ErrorLog file, if different from the main log. Calling any of the logging methods on the $r and $s objects will do the logging correctly.

If the core warn() is called, it'll be always logged to the main log file. Here is how to make it log into the vhost error_log file. Let's say that we start with the following code:

〜略〜

ということで、mod_perlでは、エラーログは分けて出力できないんだそうです。
なので$SIG{__WARN__}を上書きしたんですが、このままではSmart::Commentsの改行がまともに動かない・・・

local $SIG{__WARN__} = \&Apache2::ServerRec::warn;

さてどうしよう。続く?