2011-04-07 12 views

उत्तर

14

उदाहरण के लिए लॉग इन करना चाहते यहाँ एक उदाहरण है:

import logging 
logger1 = logging.getLogger('1') 
logger1.addHandler(logging.FileHandler('/tmp/logger1')) 
logger2 = logging.getLogger('2') 
logger2.addHandler(logging.FileHandler('/tmp/logger2')) 

logger1.error('1') 
logger2.error('2') 
फिर

,

$ cat /tmp/logger1 
1 
$ cat /tmp/logger2 
2 
4

लॉगिंग.html में उदाहरण के आधार पर यहां एक पूर्ण कार्य उदाहरण है। नोट करने के लिए मुख्य 'गॉचा' यह है कि आपको फ़ाइलों के साथ सही ढंग से बातचीत करने के लिए रूट लॉगर के लिए लॉग स्तर सेट करना सुनिश्चित करना होगा।

import logging 

logging.getLogger('').setLevel(logging.DEBUG) 
def create_log_file(filename, level=logging.INFO): 
    handler = logging.FileHandler(filename) 
    handler.setLevel(level) 
    formatter = logging.Formatter('%(asctime)s %(name)-12s %(levelname)-8s %(message)s') 
    handler.setFormatter(formatter) 
    logging.getLogger('').addHandler(handler) 

create_log_file('/temp/log1.log', logging.DEBUG) 
create_log_file('/temp/log2.log', logging.INFO) 

# Now, we can log to the root logger, or any other logger. First the root... 
logging.info('Jackdaws love my big sphinx of quartz.') 

# Now, define a couple of other loggers which might represent areas in your 
# application: 

logger1 = logging.getLogger('myapp.area1') 
logger2 = logging.getLogger('myapp.area2') 

logger1.debug('Quick zephyrs blow, vexing daft Jim.') 
logger1.info('How quickly daft jumping zebras vex.') 
logger2.warning('Jail zesty vixen who grabbed pay from quack.') 
logger2.error('The five boxing wizards jump quickly.') 
+1

लेकिन इस उदाहरण में सभी रूट संदेश log1.log और log2.log में भी रहेंगे? – Hein

+0

ऐसा इसलिए है क्योंकि यह सिर्फ एक उदाहरण है। यदि आप चाहते हैं कि आप हैंडलर को एक अलग लॉगर में संलग्न कर सकें। – Duncan

+1

आप इस पोस्ट पर हमला क्यों करते हैं, मैंने अभी एक उदाहरण मांगा है और डंकन के पोस्ट ने मुझे दस्तावेज़ीकरण से काफी बेहतर मदद की है। तो आपकी मदद के लिए डंकन धन्यवाद। लेकिन 1 और सवाल, क्या प्रत्येक लॉगर को घूर्णन करना संभव है? – Hein

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