默认级别是warning,输出到console
import logging
logging.info(1213231)
logging.warning(1213231)
调整级别为info,输出到console
import logging
logging.basicConfig(level=logging.DEBUG)
logging.info(1213231)
logging.warning(1213231)
日志内容输出到文件
import logging
logging.basicConfig(filename="test.log", level=logging.DEBUG)
logging.info(1213231)
logging.warning(1213231)
日志基本操作
import logging
f1 = logging.FileHandler("f1.log", 'a', encoding='utf-8')
f1.setFormatter(fmt="")
logger1 = logging.Logger("s1", level=logging.INFO)
logger1.addHandler(f1)
logger1.debug("hello world")
日志基本操作–带格式
import logging
f2 = logging.FileHandler("f2.txt", 'a', encoding='utf8')
fmt = logging.Formatter("%(name)s - %(asctime)s - %(message)s")
f2.setFormatter(fmt)
logger2 = logging.Logger("s1", level=logging.INFO)
logger2.addHandler(f2)
logger2.info("hi2")
输出到屏幕和文件
import logging
formatter = logging.Formatter(
'%(asctime)s--%(name)s--%(filename)s--%(message)s')
fh = logging.FileHandler('f3.log')
fh.setFormatter(formatter)
ch = logging.StreamHandler()
ch.setFormatter(formatter)
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
logger.addHandler(fh)
logger.addHandler(ch)
logger.info('foorbar')
logger.debug('just a test')
封装成函数
import logging
def InitLogger(filename, level, name):
logger = logging.getLogger(name)
logger.setLevel(level)
formatter = logging.Formatter(
'%(asctime)s %(name)s-%(levelname)s-%(filename)s-[line:%(lineno)s]: %(message)s')
fh = logging.FileHandler(filename, mode='a+')
fh.setFormatter(formatter)
ch = logging.StreamHandler()
ch.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch)
return logger
logger = InitLogger("ma.log", "DEBUG", "maxiaolang")
logger.info("hello info")
参考: http://aolens.blog.51cto.com/7021142/1902668