Как включить ведение журнала в модуле Perl? - PullRequest
6 голосов
/ 03 октября 2011

Я бы хотел включить ведение журнала в модуль Perl, который я пишу, но поддерживаю переносимость, чтобы приложения, использующие его, не были связаны с определенным механизмом ведения журнала, таким как Log :: Log4Perl .

Я рассмотрел;

  1. Вход в STDERR и оставление на усмотрение приложения перенаправления этих сообщений в собственный механизм ведения журнала (как упоминалось в Log :: Log4PerlFAQ ).
  2. Включая отсутствие входа в модуль вообще.

Я подозреваю, что есть лучший способ.

Ответы [ 2 ]

11 голосов
/ 03 октября 2011

Журнал :: Любой

Журнал :: Любой позволяет CPAN-модулям безопасно и эффективно регистрировать сообщения, позволяя приложению выбирать (или отказываться выбирать) механизм ведения журнала.такие как Log :: Dispatch или Log :: Log4perl.

0 голосов
/ 03 октября 2011

Независимо от того, что вы в конечном итоге делаете, вам придется выбирать один, и это привязывает его к механизму.Так что можно также выбрать один.

Почему бы не проверить, доступен ли Log :: Log4Perl?Если это хорошо, используйте это.Если нет, либо реализуйте обратный вызов, к которому могут подключиться ваши пользователи, или минимальный набор API, позволяющий им контролировать, что (или если) вы вообще регистрируете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...