# 專案路徑
prj_path = os.path.dirname(os.path.abspath(__file__)) # 當前檔案的上一級的上一級目錄(增加一級)
# 在專案路徑下建立乙個log資料夾, 拼接成路徑格式
log_path = os.path.join(prj_path, 'log')
# 在log資料夾下再建立乙個以當前日期命名的資料夾
log_date_path = os.path.join(log_path, time.strftime('%y%m%d', time.localtime(time.time())))
current_time = time.strftime('%y%m%d%h%m', time.localtime(time.time())) # 返回當前時間
# 在時間資料夾下建立乙個檔案,字尾是.log.
log_name = os.path.join(log_date_path, current_time + '.log')
i***ists = os.path.exists(log_date_path) # 判斷該目錄是否存在
print(prj_path, log_path, log_date_path, log_name)
# 建立乙個logger(初始化logger)
log1 = logging.getlogger()
log1.setlevel(logging.debug)
if not i***ists:
os.makedirs(log_date_path)
print(log_path + log_date_path + "目錄建立成功")
else:
# 如果目錄存在則不建立,並提示目錄已存在
print(log_path + "目錄 %s 已存在" % log_date_path)
try:
# 建立乙個handler,用於寫入日誌檔案
current_time = time.strftime('%y%m%d%h%m', time.localtime(time.time())) # 返回當前時間
log_name = os.path.join(log_date_path, current_time + '.log')
fh = logging.filehandler(log_name)
fh.setlevel(logging.info)
# 再建立乙個handler,用於輸出到控制台
ch = logging.streamhandler()
ch.setlevel(logging.info)
# 定義handler的輸出格式
formatter = logging.formatter('[%(asctime)s] - %(name)s - %(levelname)s - %(message)s')
fh.setformatter(formatter)
ch.setformatter(formatter)
# 給logger新增handler
log1.addhandler(fh)
log1.addhandler(ch)
except exception as e:
print("輸出日誌失敗! %s" % e)
diaoyong.py
from tool import output_log
output_log()
logging.info("===定義日誌內容")
python日誌輸出
import logging logger logging.getlogger 生成乙個日誌物件,內為日誌物件的名字,可以不帶,名字不給定就是root,一般給定名字,否則會把其他的日誌輸出也會列印到你的檔案裡。handler logging.filehandler log test.txt 生成乙個...
Python 日誌輸出
列印日誌是很多程式的重要需求,良好的日誌輸出可以幫我們更方便的檢測程式執行狀態。python標準庫提供了logging模組,讓我們也可以方便的在python中列印日誌。完整的使用方法可以參考標準庫文件。這裡做一下簡單介紹。日誌級別有如下幾種。當獲取根logger的時候,預設級別為notset,這樣會...
Python 日誌輸出
指令碼案例 import logging logging logging.getlogger logger.setlevel logging.info consolehandler logging.streamhandler logger.addhandler consolehandler logg...