【发布时间】:2012-03-22 20:13:39
【问题描述】:
通常当使用你调用的舞者时,例如
debug 'foo';
它会记录文本。但我希望能够在不导入舞者语法的对象中记录内容。我想知道是否有办法让舞者把它的日志对象交给我(我假设有一个),这样我就可以使用对象语法调用诸如调试之类的东西,例如
$logger->debug( 'foo' );
【问题讨论】:
标签: perl object logging dancer
通常当使用你调用的舞者时,例如
debug 'foo';
它会记录文本。但我希望能够在不导入舞者语法的对象中记录内容。我想知道是否有办法让舞者把它的日志对象交给我(我假设有一个),这样我就可以使用对象语法调用诸如调试之类的东西,例如
$logger->debug( 'foo' );
【问题讨论】:
标签: perl object logging dancer
use Dancer::Logger::Console;
my $logger = Dancer::Logger::Console->new;
$logger->debug("Perl Dancer Rocks!");
您可以将Console 记录器替换为您想要的任何其他记录器,例如Syslog 或ConsoleAggregator
【讨论】:
您可以只导入调试关键字。
use Dancer qw(:syntax debug);
debug 'foo';
这样其他函数不会污染您的命名空间,但您仍将拥有熟悉的 DSL 语法。请参阅https://metacpan.org/module/Dancer#EXPORTS 了解更多信息。
【讨论】:
use Dancer ... 我的模块直接依赖于 dancer。
我不确定我是否遵循您想要做的事情,如果您想要一个“与 Dancer 无关”的记录器,为什么要使用 Dancer 提供的记录器?
您当然可以创建一个 Dancer::Logger::Whatever 类的实例,但是我真的不明白这一点。
为什么不使用真正的独立记录器,例如 Log::Dispatchouli?
【讨论】: