Log::Handlerの標準出力を色付きにしたら10倍捗った
最近、ロギングはLog::Handlerを利用している。
このモジュールは、例えばplackupしているターミナルの標準出力にもログを吐けるので開発時に重宝している。
その標準出力(&標準エラー出力)に色を付けて、さらにそれをログレベルによって色分けするともっと捗るよ、というそれだけのお話。
use Log::Hander; my $timeformat = '%Y-%m-%d %H:%M:%S'; my $layout = '%T %L pid %P %f line %l %s : %m'; my $log = Log::Handler->new( screen => { timeformat => $timeformat, message_layout => "\e[1;31m${layout}\e[m", # 赤の太字 log_to => 'STDERR', maxlevel => 'alert', minlevel => 'alert', }, screen => { timeformat => $timeformat, message_layout => "\e[31m${layout}\e[m", # 赤 log_to => 'STDERR', maxlevel => 'error', minlevel => 'error', }, screen => { timeformat => $timeformat, message_layout => "\e[33m${layout}\e[m", # 黄 log_to => 'STDERR', maxlevel => 'warning', minlevel => 'warning', }, screen => { timeformat => $timeformat, message_layout => "\e[34m${layout}\e[m", # 黄 log_to => 'STDOUT', maxlevel => 'info', minlevel => 'info', }, ... );