python 輸出日誌

2021-09-30 20:39:28 字數 1964 閱讀 4667

# 專案路徑

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...