在工程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一下文件模板日誌