Получить доступ к объекту Dancer Log? - PullRequest
8 голосов
/ 23 марта 2012

Обычно при использовании танцора вы звоните, например,

debug 'foo';

, и он записывает текст.Но я хочу иметь возможность регистрировать вещи в объекте, который не импортирует синтаксис танцора.Мне интересно, есть ли способ заставить танцора просто передать мне свой объект журнала (я предполагаю, что он есть), чтобы я мог вызывать такие вещи, как отладка, используя синтаксис объекта, например,

$logger->debug( 'foo' );

Ответы [ 3 ]

2 голосов
/ 23 марта 2012
use Dancer::Logger::Console;

my $logger = Dancer::Logger::Console->new;
$logger->debug("Perl Dancer Rocks!");

Вы можете заменить регистратор Console любым другим регистратором, таким как Syslog или ConsoleAggregator

0 голосов
/ 21 июля 2012

Я не уверен, что следую тому, что вы хотите сделать, если вам нужен регистратор ", который не имеет никакого отношения к Dancer", почему вы хотите, чтобы один Dancer предоставлял?

Конечно, вы можете создать экземпляр Dancer :: Logger :: Независимо от класса, но тогда я не вижу смысла.

Почему бы не использовать настоящий автономный регистратор, например, Log :: Dispatchouli?

0 голосов
/ 24 марта 2012

Вы можете импортировать только ключевое слово debug.

use Dancer qw(:syntax debug);
debug 'foo';

Таким образом, остальные функции не будут загрязнять ваше пространство имен, но у вас все равно будет знакомый синтаксис DSL.См. https://metacpan.org/module/Dancer#EXPORTS для получения дополнительной информации.

...