找資料發現都好深入,只是想要一個簡單的日誌記錄,寫入文件而已。。。
代碼入下,logger_config方法配置logger,然後就可以調用logger記錄了
import logging
def logger_config(log_path,logging_name):
'''
配置log
:param log_path: 輸出log路徑
:param logging_name: 記錄中name,可隨意
:return:
'''
'''
logger是日誌對象,handler是流處理器,console是控制檯輸出(沒有console也可以,將不會在控制檯輸出,會在日誌文件中輸出)
'''
# 獲取logger對象,取名
logger = logging.getLogger(logging_name)
# 輸出DEBUG及以上級別的信息,針對所有輸出的第一層過濾
logger.setLevel(level=logging.DEBUG)
# 獲取文件日誌句柄並設置日誌級別,第二層過濾
handler = logging.FileHandler(log_path, encoding='UTF-8')
handler.setLevel(logging.INFO)
# 生成並設置文件日誌格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
# console相當於控制檯輸出,handler文件輸出。獲取流句柄並設置日誌級別,第二層過濾
console = logging.StreamHandler()
console.setLevel(logging.DEBUG)
# 爲logger對象添加句柄
logger.addHandler(handler)
logger.addHandler(console)
return logger
if __name__ == "__main__":
logger = logger_config(log_path='log.txt', logging_name='據說名字長一點容易被人記住')
logger.info("info")
logger.error("error")
logger.debug("debug")
logger.warning("warning")
print('print和logger輸出是有差別的!')
運行上述文件,控制檯:
】
日誌文件輸出: