9

通常在使用你调用的舞者时,例如

debug 'foo';

它会记录文本。但我希望能够在不导入舞者语法的对象中记录内容。我想知道是否有办法让舞者把它的日志对象交给我(我假设有一个),这样我就可以使用对象语法调用诸如调试之类的东西,例如

$logger->debug( 'foo' );
4

3 回答 3

2
use Dancer::Logger::Console;

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

您可以将Console记录器替换为您想要的任何其他记录器,例如SyslogConsoleAggregator

于 2012-03-23T19:00:49.060 回答
0

我不确定我是否遵循您想要做的事情,如果您想要一个“与 Dancer 无关”的记录器,为什么要使用 Dancer 提供的记录器?

您当然可以创建一个 Dancer::Logger::Whatever 类的实例,但是,我真的不明白这一点。

为什么不使用真正的独立记录器,例如 Log::Dispatchouli?

于 2012-07-21T13:24:16.557 回答
0

您可以只导入调试关键字。

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

这样,其余函数就不会污染您的命名空间,但您仍将拥有熟悉的 DSL 语法。有关更多信息,请参阅https://metacpan.org/module/Dancer#EXPORTS

于 2012-03-23T22:23:11.150 回答