【发布时间】:2013-07-04 01:47:36
【问题描述】:
我编写了以下方法来获取日志错误。我使用 $_ 来获取“错误类型”。
sub _log_warning {
my $log = Log::Server->new(
base_dir =>
&config->current->{'log_reader'}->{'base_dir'},
pattern => &config->current->{'log_reader'}->{'pattern'},
);
$log->infof("Could not register to DB. Got $_");
}
因为我看到 $_ 用于获取产生的错误类型。 我在这种情况下使用了这个:
use Try::Tiny;
try { _log_to_database(); }
catch {
_log_warning();
};
这在语法上可以吗?我希望 _log_warning();记录错误,$_ 应该说明发生的错误类型。但也许我没有很好地使用 $_?
更新:
当我尝试产生错误以激活该方法时,我得到:
2013-07-04T11:15:56 [INFO] Could not register to DB. Got ã<81><9d>ã<81>®ã<82><88>ã<81> <86>ã<81>ªã<83><95>ã<82>¡ã<82>¤ã<83>«ã<82><84>ã<83><87>ã<82>£ã<83>¬ã<82>¯ã<83><88>ã<83>>> ªã<81>¯ã<81><82>ã<82><8a>ã<81>¾ã<81><9b>ã<82><93>: /var/log/app.error.log.%Y%m%d at script.pl line 36.\n at script.pl line 113
:(
@ikegami 求救
【问题讨论】:
-
你希望它做什么?它正在这样做吗?
-
@Flimzy 我希望 $_ 能够捕获错误类型。语法错误等等。?
标签: perl