多文件日志
import logging
class Logger:
def __init__(self, logName, logFile):
self._logger = logging.getLogger(logName)
handler = logging.FileHandler(logFile,mode='w')
formatter = logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',datefmt='%a, %d %b %Y %H:%M:%S')
handler.setFormatter(formatter)
self._logger.addHandler(handler)
self._logger.setLevel(logging.INFO)
def log(self, msg):
if self._logger is not None:
self._logger.info(msg)
if __name__ == "__main__":
log1 = Logger("log1", "log1.log")
log1.log("hello")
log2 = Logger("log2", "log2.log")
log2.log("world")
import datetime
import traceback
import logging
logger=logging
logger.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',
filename='meituan.log',
filemode='w')
logger.debug('This is debug message')
logger.info('This is info message')
logger.warning('This is warning message')
class Test(object):
def __init__(self):
print('init')
def __enter__(self):
print('enter')
return self
def __exit__(self, exc_type, exc_val, exc_tb):
logger.error(traceback.format_exc())
print(str(exc_type),str(exc_val),str(exc_tb))
print('exit')
def fun(self):
a=10/0
print('fun')
if __name__ == '__main__':
with Test() as test:
test.fun()