在工程logutil目录中建立文件Logger.pypython
import os import logging from logging import handlers
current_path = os.path.dirname(os.path.abspath(__file__))
level = logging.DEBUG def initlog(): current_path = os.path.dirname(__file__) logPath = current_path + "/../log/" if not os.path.exists(logPath): os.mkdir(logPath) filename = logPath + 'app.log' format = '%(asctime)s %(filename)s[line:%(lineno)d] %(message)s' logger = logging.getLogger(filename) # 设置日志格式 format_str = logging.Formatter(format) # 设置日志级别 logger.setLevel(level) # 往屏幕上输出 sh = logging.StreamHandler() # 设置屏幕上显示的格式 sh.setFormatter(format_str) # 往文件里写入 # 指定间隔时间自动生成文件的处理器 th = handlers.TimedRotatingFileHandler(filename=filename, when='D', backupCount=3, encoding='utf-8') # 实例化TimedRotatingFileHandler # interval是时间间隔,backupCount是备份文件的个数,若是超过这个个数,就会自动删除,when是间隔的时间单位,单位有如下几种: # S 秒 # M 分 # H 小时、 # D 天、 # W 每星期(interval==0时表明星期一) # midnight 天天凌晨 # 设置文件里写入的格式 th.setFormatter(format_str) # 把对象加到logger里 logger.addHandler(sh) logger.addHandler(th) return logger logger = initlog() def main(): print("main") logger = initlog() logger.info("test logutil") if __name__ == "__main__": print("run in script style") main() else: print("logger run in model style")
import os
from logutil import Loggerapp
current_path = os.path.dirname(os.path.abspath(__file__))
logger = Logger.logger
def init():
logger.info("init")
def main():
logger.info("main")工具
if __name__=="__main__":
logger.info("run in script style")
main()
else:
logger.info("run in model style")
init()spa
mark一下文件模板日志