2014-01-30 276 views
0
logger = logging.getLogger('application') 
logger.setLevel(logging.DEBUG) 
fh = logging.FileHandler('app.log') 
fh.setLevel(logging.DEBUG) 
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') 
fh.setFormatter(formatter) 
logger.addHandler(fh) 

class blah() 

    def blah1(self) 
     .... 
     .... 
     self.logger.DEBUG("You dont have root privileges") 

    def blah1(self) 
     .... 
     .... 
     self.logger.DEBUG("You dont have root privileges2") 


if __name__ == "__main__": 
    b= blah() 
    b.blah1() 

伙计们即时尝试让我的每个函数报告到我的Python脚本中的日志文件。但它没有记录。我哪里出错了?Python日志记录功能

感谢 威廉

+0

self.logger.DEBUG(“你没有root权限”),你能显示你在类中定义记录器的行吗 – duck

回答

2

找到答案简化

import logging 
logger = logging.getLogger('application') 
logger.setLevel(logging.DEBUG) 
fh = logging.FileHandler('app.log') 
fh.setLevel(logging.DEBUG) 
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') 
fh.setFormatter(formatter) 
logger.addHandler(fh) 

class blah: 
    def blah1(self): 
     logger.debug("You dont have root privileges") 


if __name__ == "__main__": 
    b= blah() 
    b.blah1() 

注:调试应该是小case了,请使用全局记录。当你在全局范围内初始化它时

1

尝试

class blah(): 
    logger = logger 

    def blah1(self) 
     .... 
     .... 
     self.logger.DEBUG("You dont have root privileges") 

    def blah1(self) 
     .... 
     .... 
     self.logger.DEBUG("You dont have root privileges2")