2012-11-22 32 views
0

A.py如何從另一個模塊獲取對象?

# logging object 
logger = "" 

def log(): 
     """ 
     a log handle 
     """ 
     global logger, doc_log 

     import logging.handlers 
     logger = logging.getLogger("autons_log") 
     logger.setLevel(logging.DEBUG) 

     MAX_SIZE = 800 * 1024 * 1024 
     LOG_PATH = doc_log + "/autons_log.log" 
     fh = logging.handlers.RotatingFileHandler(LOG_PATH, maxBytes=MAX_SIZE, backupCount=8) 

     formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') 
     fh.setFormatter(formatter) 

     logger.addHandler(fh) 

def get_log(): 
     """ 
     get the object of logger 
     """ 
     global logger 
     return logger 

和B.py

def hello(): 
     """ 
     """ 
     import autons_nc 
     print autons_nc.get_log() 
     print type(autons_nc.get_log()) 
     autons_nc.get_log().debug('hello') 

我想使用B.py記錄的對象,但這種方式不能工作。 get_log()的類型是「type」str'「not」class'logging.Logger'「。

那麼,換個方式可以解決嗎?謝謝

順便說一句,autons_nc.py是A.py

回答

1

您初始化logger字符串:

logger = "" 

這在log()變化指的logging.Logger一個實例。在檢查logger的類型之前,你不要說你實際上打電話log() - 是嗎?

+0

謝謝,我在A.py中調用log(),而在A.py中log()是B.hello()的前面。 – lxgeek

相關問題