通常使用的舞者,當你調用,例如訪問舞者日誌對象?
debug 'foo';
,它會記錄文本。但我希望能夠在不導入舞者語法的對象中記錄東西。我想知道是否有辦法讓舞者把我的日誌對象(我假設有一個)提交給我,這樣我就可以使用對象語法來調用諸如調試之類的東西。
$logger->debug('foo');
通常使用的舞者,當你調用,例如訪問舞者日誌對象?
debug 'foo';
,它會記錄文本。但我希望能夠在不導入舞者語法的對象中記錄東西。我想知道是否有辦法讓舞者把我的日誌對象(我假設有一個)提交給我,這樣我就可以使用對象語法來調用諸如調試之類的東西。
$logger->debug('foo');
use Dancer::Logger::Console;
my $logger = Dancer::Logger::Console->new;
$logger->debug("Perl Dancer Rocks!");
你可以用你想如Syslog或ConsoleAggregator
可以導入剛剛調試關鍵字的任何其他記錄器更換Console
記錄。
use Dancer qw(:syntax debug);
debug 'foo';
這樣,其餘的函數不會污染你的命名空間,但你仍然會有熟悉的DSL語法。有關更多信息,請參見https://metacpan.org/module/Dancer#EXPORTS。
這仍然將可能與舞者無關的物體與舞者聯繫起來。我的對象應該能夠在催化劑,舞者,魔咒等中工作。 – xenoterracide 2012-03-25 00:26:12
我不確定你的意思是「綁定對象」。它不會將任何對象綁定到AFAIK。 ':syntax'選項關閉所有Dancer的魔法,除了加載配置。 – Naveed 2012-03-25 23:24:51
但我不需要舞者配置......我寫的對象不一定需要舞者記錄器,它需要一個記錄器,而且目前它將與舞者一起使用,所以通過舞者是有道理的。舞者記錄員。通過做'使用舞者......'我的模塊直接依賴舞者。 – xenoterracide 2012-03-27 17:42:05
我不確定我是否遵循你想要做的事情,如果你想要一個「與舞者無關」的記錄器,爲什麼你想要一個舞者提供?
你當然可以創建一個Dancer :: Logger ::無論什麼類的實例,但是,我真的不明白這一點。
爲什麼不使用像Log :: Dispatchouli這樣的真正的獨立記錄器?
這是否通常返回內部舞者記錄器的單身人士?從它的外觀我猜想一個新的實例。 – xenoterracide 2012-03-27 18:19:19
是的,上面的代碼返回一個新的實例。 – KnightHacker 2012-04-25 18:11:10