我編寫了以下獲取日誌錯誤的方法。我使用$ _來獲得「錯誤類型」。
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();
};
這是正確的syntatically: 我在這種情況下使用呢?我期待_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 SOS
你期望它做什麼?它是這樣做的嗎? – Flimzy
@Flimzy我希望$ _捕獲錯誤的類型。語法錯誤等。? – ado