import sys
import logging
logger = logging.getlogger('log')
logger.setlevel(logging.debug)
# 呼叫模組時,如果錯誤引用,比如多次呼叫,每次會新增handler,造成重複日誌,這邊每次都移除掉所有的handler,後面在重新新增,可以解決這類問題
while logger.hashandlers():
for i in logger.handlers:
logger.removehandler(i)
# file log 寫入檔案配置
formatter = logging.formatter('%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s') # 日誌的格式
fh = logging.filehandler(r'test_logger.log', encoding='utf-8') # 日誌檔案路徑檔名稱,編碼格式
fh.setlevel(logging.debug) # 日誌列印級別
fh.setformatter(formatter)
logger.addhandler(fh)
# console log 控制台輸出控制
ch = logging.streamhandler(sys.stdout)
ch.setlevel(logging.debug)
ch.setformatter(formatter)
logger.addhandler(ch)
def work():
logger.info('中文不亂碼')
logger.error('列印錯誤日誌')
if __name__ == "__main__":
work()
OC中控制台日誌列印
物件 d,i 整型 i的老寫法 hd 短整型 ld lld 長整型 u 無符整型 f 浮點型和double型 0.2f 精度浮點數,只保留兩位小數 o 八進位制 zu size t p 指標位址 e float double 科學計算 g float double 科學技術法 x 為32位的無符號整...
python 輸出日誌到檔案和控制台
import logging 第一步,建立乙個logger logger logging.getlogger logger.setlevel logging.info log等級總開關 第二步,建立乙個handler,用於寫入日誌檔案 logfile log2.txt fh logging.file...
python 輸出日誌到檔案和控制台
import logging 第一步,建立乙個logger logger logging.getlogger logger.setlevel logging.info log等級總開關 第二步,建立乙個handler,用於寫入日誌檔案 logfile log2.txt fh logging.file...