2012-03-22 13 views
8

आम तौर पर जब नर्तकी का उपयोग कर आप उदाहरणएक्सेस डांसर लॉग ऑब्जेक्ट?

debug 'foo'; 

के लिए, फोन और यह पाठ प्रवेश करेंगे। लेकिन मैं उस ऑब्जेक्ट में सामान लॉग इन करने में सक्षम होना चाहता हूं जो नर्तक वाक्यविन्यास आयात नहीं करता है। मैं सोच रहा हूं कि नर्तक पाने के लिए कोई रास्ता है, बस मुझे यह लॉग ऑब्जेक्ट (मुझे लगता है कि एक है) ताकि मैं ऑब्जेक्ट सिंटैक्स का उपयोग करके डीबग जैसी चीज़ों को कॉल कर सकूं।

$logger->debug('foo'); 

उत्तर

2
use Dancer::Logger::Console; 

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

आप किसी भी अन्य लकड़हारा आप चाहते हैं इस तरह के Syslog के रूप में या ConsoleAggregator

+0

क्या यह आम तौर पर आंतरिक नर्तक लॉगर का सिंगलटन लौटाता है? इसके दिखने से मुझे एक नया उदाहरण लगता है। – xenoterracide

+0

हां, उपरोक्त कोड एक नया उदाहरण देता है। – KnightHacker

0

तुम बस डिबग कीवर्ड आयात कर सकते हैं साथ Console लकड़हारा बदल सकते हैं।

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

इस तरह के कार्यों के बाकी अपने नामस्थान को दूषित नहीं होगा, लेकिन आप अभी भी परिचित डीएसएल वाक्य रचना करनी होगी। अधिक जानकारी के लिए https://metacpan.org/module/Dancer#EXPORTS देखें।

+0

यह अभी भी उन वस्तुओं से जुड़ा हुआ है जिनके पास नर्तक से नर्तक करने के लिए कुछ भी नहीं हो सकता है। मेरी वस्तु उत्प्रेरक, नर्तक, मोजो, आदि में काम करने में सक्षम होना चाहिए – xenoterracide

+0

मुझे यकीन नहीं है कि इसका मतलब क्या है "वस्तुओं से संबंध है"। यह AFAIK कुछ भी किसी भी वस्तु को बांध नहीं है। कॉन्फ़िगरेशन लोड करने के अलावा, 'वाक्यविन्यास' विकल्प सभी डांसर जादू को बंद कर देता है। – Naveed

+0

लेकिन मुझे नर्तक कॉन्फ़िगरेशन की आवश्यकता नहीं है ... जिस ऑब्जेक्ट को मैं लिख रहा हूं उसे डांसर लॉगर की आवश्यकता नहीं है, इसे लॉगर की आवश्यकता है, और वर्तमान में यह नर्तक के साथ उपयोग किया जा रहा है, इसलिए इसे पास करना समझ में आता है नर्तक लॉगर। 'डांसर का उपयोग करके ...' मेरा मॉड्यूल सीधे नर्तक पर निर्भर हो जाता है। – xenoterracide

0

मुझे यकीन नहीं है कि मैं जो करना चाहता हूं उसका पालन करता हूं, अगर आप एक लॉगर चाहते हैं "जिसका डांसर से कोई लेना देना नहीं है" तो आप एक डांसर क्यों प्रदान करना चाहते हैं?

आप निश्चित रूप से एक डांसर :: लॉगर :: जो भी कक्षा का उदाहरण बना सकते हैं, लेकिन मुझे वास्तव में बिंदु नहीं दिख रहा है।

उदाहरण के लिए लॉग :: डिस्पैचौली जैसे वास्तविक स्टैंडअलोन लॉगर का उपयोग क्यों नहीं करते?

संबंधित मुद्दे