Python-36章 日誌

日誌

程序在執行過程中多多少少都會遇到bug,bug記錄進日誌裏進行保存方便查看

import logging
#配置日誌的處理
logging.basicConfig(
    filename='x1.log', #文件
    format='%(asctime)s - %(name)s - %(lenvelname)s - %(module)s: %(message)s ', #格式化
    datefmt='%Y-%m-d% %H-%M%S',  #時間格式
    level=10  #等級10以上會被寫入到日誌
)
# 向日志寫入內容
logging.critical("今天表哥回來了") # 40-50級,幾乎是最高的
logging.error("和嫂子...") #40級,平時使用最多
#logging.warn("生氣") #30 警告
logging.warning("警告") #有個橫線表示已經被去掉了,使用warning
logging.info("提示") # 20
logging.debug("開發的時候把這個開着") #10,記錄的最多
import logging

# 配置好日誌的處理, 默認就是GBK
logging.basicConfig(filename='x1.txt', # 把日誌信息寫入的文件名
                     format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
                     datefmt='%Y-%m-%d %H:%M:%S', # 時間的格式
                     level=40) # 當前配置表示 10以上的分數會被寫入日件

 # 向日志文件寫入內容
 logging.critical("今天嫂子沒有來") # 50, 幾乎是最高的
 logging.error("昨天嫂子來了") # 40 平時使用最多的就是他
 logging.warn("氣死我了") # 30  警告
 logging.warning("還好吧")
 logging.info("提示") # 20 級
 logging.debug("開發的時候把這個開着") # 10
 logging.log(999, "寶寶今天有懵逼了")

分類的存儲及應用

import logging
# 創建⼀個操作⽇志的對象logger(依賴FileHandler)
file_handler = logging.FileHandler('l1.log', 'a', encoding='utf-8')
file_handler.setFormatter(logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s"))
logger1 = logging.Logger('s1', level=logging.ERROR)
logger1.addHandler(file_handler)
logger1.error('我是A系統')
# 再創建⼀個操作⽇志的對象logger(依賴FileHandler)
file_handler2 = logging.FileHandler('l2.log', 'a', encoding='utf-8')
file_handler2.setFormatter(logging.Formatter(fmt="%(asctime)s - %(name)s -%(levelname)s -%(module)s: %(message)s"))
logger2 = logging.Logger('s2', level=logging.ERROR)
logger2.addHandler(file_handler2)
logger2.error('我是B系統')
import logging


# 創建一個操作日誌的對象logger(依賴FileHandler)
file_handler = logging.FileHandler('l1.log', 'a', encoding='utf-8') # 創建文件
file_handler.setFormatter(logging.Formatter(
    fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s")) # 設置日誌文件的格式
logger1 = logging.Logger('騰訊qq', level=10) # 創建一個日誌文件處理對象
logger1.addHandler(file_handler) # 把文件添加到日誌

logger1.error("麻花藤明天請大家吃飯. 去不去?")


# 再創建⼀個操作⽇志的對象logger(依賴FileHandler)
file_handler2 = logging.FileHandler('l2.log', 'a', encoding='utf-8')
file_handler2.setFormatter(logging.Formatter(
    fmt="%(asctime)s - %(name)s -%(levelname)s -%(module)s: %(message)s"))
logger2 = logging.Logger('百度貼吧', level=logging.DEBUG)
logger2.addHandler(file_handler2)

logger2.error("我纔不去呢. 我們在北京. 離你那麼遠")


import traceback

class GenderException(Exception):
    pass


class Person:
    def __init__(self, name, gender):
        self.name = name
        self.gender = gender
        logger1.info(f"這個人的名字是{self.name}, 這個人的性別是:{self.gender}")

    def xizao(self):
        print(f"{self.name}在洗澡")

class ZaoTang:

    def nan(self, ren):
        if ren.gender == "男":
            ren.xizao()
        else:
            raise GenderException("我這裏要的是男人")

    def nv(self, ren):
        if ren.gender == "女":
            ren.xizao()
        else:
            raise GenderException("我這裏要的是女人")


try:
    p1 = Person("趙亞磊", "男")
    p2 = Person("林志玲", "女")
    zaotang = ZaoTang()
    zaotang.nan(p2)
    zaotang.nv(p1)
except GenderException:
    print("走錯屋裏了")
    logger1.error("走錯屋了.. ")
    logger1.error(traceback.format_exc()) # 把堆棧信息記錄在日誌文件中
發佈了130 篇原創文章 · 獲贊 11 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章