2012-03-22 67 views
8

通常使用的舞者,當你調用,例如訪問舞者日誌對象?

debug 'foo'; 

,它會記錄文本。但我希望能夠在不導入舞者語法的對象中記錄東西。我想知道是否有辦法讓舞者把我的日誌對象(我假設有一個)提交給我,這樣我就可以使用對象語法來調用諸如調試之類的東西。

$logger->debug('foo'); 

回答

2
use Dancer::Logger::Console; 

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

你可以用你想如SyslogConsoleAggregator

+0

這是否通常返回內部舞者記錄器的單身人士?從它的外觀我猜想一個新的實例。 – xenoterracide 2012-03-27 18:19:19

+0

是的,上面的代碼返回一個新的實例。 – KnightHacker 2012-04-25 18:11:10

0

可以導入剛剛調試關鍵字的任何其他記錄器更換Console記錄。

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

這樣,其餘的函數不會污染你的命名空間,但你仍然會有熟悉的DSL語法。有關更多信息,請參見https://metacpan.org/module/Dancer#EXPORTS

+0

這仍然將可能與舞者無關的物體與舞者聯繫起來。我的對象應該能夠在催化劑,舞者,魔咒等中工作。 – xenoterracide 2012-03-25 00:26:12

+0

我不確定你的意思是「綁定對象」。它不會將任何對象綁定到AFAIK。 ':syntax'選項關閉所有Dancer的魔法,除了加載配置。 – Naveed 2012-03-25 23:24:51

+0

但我不需要舞者配置......我寫的對象不一定需要舞者記錄器,它需要一個記錄器,而且目前它將與舞者一起使用,所以通過舞者是有道理的。舞者記錄員。通過做'使用舞者......'我的模塊直接依賴舞者。 – xenoterracide 2012-03-27 17:42:05

0

我不確定我是否遵循你想要做的事情,如果你想要一個「與舞者無關」的記錄器,爲什麼你想要一個舞者提供?

你當然可以創建一個Dancer :: Logger ::無論什麼類的實例,但是,我真的不明白這一點。

爲什麼不使用像Log :: Dispatchouli這樣的真正的獨立記錄器?