log4perl で警告が出ていた Wide character in print
2012/06/27
log4perl で、警告が出てた。
Warning caught during route execution: Wide character in print at /home/xxx/perl5/lib/perl5/Log/Log4perl/Appender/File.pm line 245. |
Dancerのconfigでwarnings = 1 にしておくと、警告があった場合に、ブラウザ上で警告内容を確認できる。(PHPみたいに) この機能自体は便利なんだけど、警告があった場合にサーバがステータスコード500を返して、ページ全体がエラーページを表示してしまうので、処理が止まってしまうことになる。
プロダクション環境では、warnings=0 で運用するだろうし、通常警告で処理が止まってしまうことはないんですが、気持わるいので、 Wide characterの警告は出力しないようにしたい。
log4perl.rootLogger = DEBUG, file, console log4perl.appender.file = Log::Log4perl::Appender::File log4perl.appender.file.filename = /tmp/app.log log4perl.appender.file.mode = append log4perl.appender.file.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.file.layout.ConversionPattern = %d %p %m %n log4perl.appender.file.utf8 = 1 log4perl.appender.console = Log::Log4perl::Appender::Screen log4perl.appender.console.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.console.layout.ConversionPattern = %d %p %m %n log4perl.appender.console.utf8 = 1 |
log4perl.appender.file.utf8 = 1 として、開発サーバを再起動すれば、さっきの警告は無視してくれるようになります。
今の時代になっても、perl って毎回文字コード関係でトラブる。