logging

用于便捷记录日志且线程安全的模块

1、单文件日志

import logging
  
  
logging.basicConfig(filename='log.log',
                    format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S %p',
                    level=10)
  
logging.debug('debug')
logging.info('info')
logging.warning('warning')
logging.error('error')
logging.critical('critical')
logging.log(10,'log')

封装后:
import logging
import logging.handlers

class LogFactory(object):
def __init__(self, filename):
self.filename = filename
self.log = logging.getLogger(self.filename)
self.log.setLevel(logging.DEBUG)
handler = logging.handlers.RotatingFileHandler(self.filename, maxBytes=100*1024*1024, backupCount=1000)
formatter = logging.Formatter('%(asctime)s %(levelname)s: %(threadName)s [%(module)s.%(funcName)s, Line:%(lineno)d] %(message)s')
handler.setFormatter(formatter)
self.log.addHandler(handler)
# self.log.error(msg)

def msg(self, msg):
self.log.info(msg)






if __name__ == '__main__':

log = LogFactory("sm_article.log")

try:
log.msg("Begin to load articles and topics...")
log.msg('HHHHHHHHHHH')

except Exception as e:
log.msg("Load catch error:%s" % e)
import logging

# create logger
logger = logging.getLogger("simple_example")
logger.setLevel(logging.DEBUG)

# create console handler and set level to debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)

# create formatter
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")

# add formatter to ch
ch.setFormatter(formatter)

# add ch to logger
logger.addHandler(ch)

# "application" code
logger.debug("debug message")
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
logger.critical("critical message")
屏幕输出的错误信息

相关文章:

  • 2021-07-17
  • 2021-09-12
  • 2021-07-20
  • 2021-09-14
  • 2021-06-15
  • 2022-02-16
  • 2021-10-19
猜你喜欢
  • 2022-01-15
  • 2021-11-24
  • 2022-01-18
  • 2022-12-23
  • 2021-04-14
  • 2021-04-17
相关资源
相似解决方案