Я пытаюсь отладить фильтр mimedefang, который я написал, и я не могу заставить md_syslog фактически что-либо регистрировать. Это с mimedefang 2.85 на Amazon Linux 2. Каким-то образом ведение журнала работает, потому что я вижу такие вещи
9 января 18:00:41 ip-10-0-200-150 mimedefang.pl[26660]: C51DA80055: MDLOG,C51DA80055,mail_in,,,<frommail>,<tomail>,Test
9 января 18:00:41 ip-10-0-200-150 mimedefang.pl[26660]: C51DA80055: фильтр: append_text_boilerplate=1
9 января 18:00:41 ip-10-0-200-150 mimedefang[6514]: C51DA80055: время фильтрации 7 мс
Кроме того, мой фильтр вроде как работает, потому что он на самом деле выполняет действия append_[html|text], но некоторые другие вещи не работают, и моя регистрация для выяснения этого не работает. Вот упущенная/упрощенная версия моего фильтра:
суб filter_end {
...
если ($addrs =~ m/$sender/) {
...
если (открыть (мой $fh, '<: кодировка (UTF-8)', $text_file)) {
в то время как (мой $row = <$fh>) {
$txt_disclaimer .= $строка;
}
append_text_boilerplate ($ сущность, $ txt_disclaimer, 0); # это работает
} еще {
warn "Не удалось открыть файл '$text_file' $!";
}
if (open(my $fh, '<:encoding(UTF-8)', $html_file)) {
в то время как (мой $row = <$fh>) {
$html_disclaimer .= $строка;
}
...
md_syslog('info', "Добавленный шаблон"); # это не отображается
если (открыть (мой $lfh, '>>', $log_file)) {
мой $log_line = $dest . ',' . $ хэш . ',' . местное время() . "\п";
напечатать $lfh $log_line;
warn "Кажется, я что-то зарегистрировал";
md_syslog('info', "Зарегистрированный адрес электронной почты"); # это не отображается
закрыть($lfh);
} еще {
warn "Не удалось открыть файл журнала '$log_file' $!";
md_syslog('предупреждение', "Не удалось открыть файл журнала"); # это не отображается
}
append_html_boilerplate($entity, $html_disclaimer, 0); # это работает
} еще {
warn "Не удалось открыть файл '$html_file' $!";
}
}
...
}
Я ожидаю, что некоторые из этих вызовов md_syslog зарегистрируют ... что-то, но я ничего не вижу ни в одном из файлов журнала. Любые идеи?