
- Kivy 教程
- Kivy - 首頁
- Kivy 基礎
- Kivy - 入門
- Kivy - 安裝
- Kivy - 架構
- Kivy - 檔案語法
- Kivy - 應用
- Kivy - Hello World
- Kivy - 應用生命週期
- Kivy - 事件
- Kivy - 屬性
- Kivy - 輸入
- Kivy - 行為
- Kivy 按鈕
- Kivy - 按鈕
- Kivy - 按鈕事件
- Kivy - 按鈕顏色
- Kivy - 按鈕大小
- Kivy - 按鈕位置
- Kivy - 圓形按鈕
- Kivy - 停用按鈕
- Kivy - 圖片按鈕
- Kivy 元件
- Kivy - 元件
- Kivy - 標籤
- Kivy - 文字輸入
- Kivy - 畫布
- Kivy - 線
- Kivy - 複選框
- Kivy - 下拉列表
- Kivy - 視窗
- Kivy - 滾動檢視
- Kivy - 走馬燈
- Kivy - 滑塊
- Kivy - 圖片
- Kivy - 彈出視窗
- Kivy - 開關
- Kivy - 微調器
- Kivy - 分隔器
- Kivy - 進度條
- Kivy - 氣泡
- Kivy - 標籤頁面板
- Kivy - 散點圖
- Kivy - 手風琴
- Kivy - 檔案選擇器
- Kivy - 顏色選擇器
- Kivy - 程式碼輸入
- Kivy - 模態檢視
- Kivy - 切換按鈕
- Kivy - 攝像頭
- Kivy - 樹形檢視
- Kivy - reStructuredText
- Kivy - 操作欄
- Kivy - 播放器
- Kivy - 模板檢視
- Kivy - 虛擬鍵盤
- Kivy - 觸控漣漪
- Kivy - 音訊
- Kivy - 影片
- Kivy - 拼寫檢查
- Kivy - 效果
- Kivy - 輸入記錄器
- Kivy - OpenGL
- Kivy - 文字
- Kivy - 文字標記
- Kivy - 設定
- Kivy 佈局
- Kivy - 佈局
- Kivy - 浮動佈局
- Kivy - 網格佈局
- Kivy - 箱式佈局
- Kivy - 堆疊佈局
- Kivy - 錨點佈局
- Kivy - 相對佈局
- Kivy - 頁面佈局
- Kivy - 回收佈局
- Kivy - 佈局巢狀
- Kivy 高階概念
- Kivy - 配置物件
- Kivy - 圖集
- Kivy - 資料載入器
- Kivy - 快取管理器
- Kivy - 控制檯
- Kivy - 動畫
- Kivy - 多筆畫
- Kivy - 時鐘
- Kivy - SVG
- Kivy - UrlRequest
- Kivy - 剪貼簿
- Kivy - 工廠
- Kivy - 手勢
- Kivy - 語言
- Kivy - 圖形
- Kivy - 繪製
- Kivy - 打包
- Kivy - Garden
- Kivy - 儲存
- Kivy - 向量
- Kivy - 工具函式
- Kivy - 檢查器
- Kivy - 工具
- Kivy - 日誌記錄器
- Kivy - 幀緩衝區
- Kivy 應用和專案
- Kivy - 繪圖應用
- Kivy - 計算器應用
- Kivy - 計時器應用
- Kivy - 攝像頭處理
- Kivy - 圖片檢視器
- Kivy - 貝塞爾曲線
- Kivy - 畫布壓力測試
- Kivy - 圓形繪製
- Kivy - 元件動畫
- Kivy - 雜項
- Kivy 有用資源
- Kivy - 快速指南
- Kivy - 有用資源
- Kivy - 討論
Kivy - 日誌記錄器
Python 的標準庫包含 logging 模組,該模組有助於在 Python 應用程式中實現強大的事件日誌系統。Kivy 的日誌記錄機制在此基礎上構建,並具有一些額外的功能,例如在支援的終端上進行顏色編碼的輸出、訊息分類等。
每次執行 Kivy 應用程式時,您都會看到控制檯視窗中顯示的日誌。它看起來像這樣:
[INFO ] [Logger ] Record log in C:\Users\user\.kivy\logs\kivy_23-07-10_67.txt [INFO ] [deps ] Successfully imported "kivy_deps.gstreamer" 0.3.3 [INFO ] [deps ] Successfully imported "kivy_deps.angle" 0.3.3 [INFO ] [deps ] Successfully imported "kivy_deps.glew" 0.3.1 [INFO ] [deps ] Successfully imported "kivy_deps.sdl2" 0.6.0 [INFO ] [Kivy ] v2.2.0 [INFO ] [Kivy ] Installed at "c:\kivyenv\Lib\sitepackages\kivy\__init__.py" [INFO ] [Python ] v3.11.2 (tags/v3.11.2:878ead1, Feb 7 2023, 16:38:35) [MSC v.1934 64 bit (AMD64)] [INFO ] [Python ] Interpreter at "c:\kivyenv\Scripts\python.exe" [INFO ] [Logger ] Purge log fired. Processing... [INFO ] [Logger ] Purge finished! [INFO ] [Factory ] 190 symbols loaded [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored) [INFO ] [Window ] Provider: sdl2 [INFO ] [GL ] Using the "OpenGL" graphics system [INFO ] [GL ] GLEW initialization succeeded [INFO ] [GL ] Backend used <glew> [INFO ] [GL ] OpenGL version <b'4.6.0 - Build 31.0.101.3959'> [INFO ] [GL ] OpenGL vendor <b'Intel'> [INFO ] [GL ] OpenGL renderer <b'Intel(R) Iris(R) Xe Graphics'> [INFO ] [GL ] OpenGL parsed version: 4, 6 [INFO ] [GL ] Shading version <b'4.60 - Build 31.0.101.3959'> [INFO ] [GL ] Texture max size <16384> [INFO ] [GL ] Texture max units <32> [INFO ] [Window ] auto add sdl2 input provider [INFO ] [Window ] virtual keyboard not allowed, single mode, not docked [INFO ] [Text ] Provider: sdl2 [INFO ] [Base ] Start application main loop [INFO ] [GL ] NPOT texture support is available
這些訊息告訴您已檢測到並初始化了哪些硬體和驅動程式,以及哪些硬體和驅動程式無法完成初始化。
Kivy 庫中的 Logger 類提供了一個單例例項,並在 kivy.logger 模組中定義。除了 Python 的 logging 模組中的日誌級別(debug、info、warning、error 和 critical)之外,Kivy 還具有一個額外的跟蹤級別。
Logger 物件具有與上述日誌級別相對應的方法。這些方法中的每一個都接受一個字串引數 - message - 分為兩部分,用冒號(:)符號分隔。第一部分用作標題,冒號後的字串是日誌訊息。
from kivy.logger import Logger Logger.info('title: This is a info message.') Logger.debug('title: This is a debug message.')
預設日誌級別在 Kivy 的配置檔案中設定為 info。因此,您會看到如此長的日誌輸出。您可以透過 Logger 物件的 setlevel() 方法將其設定為任何所需的日誌級別。
from kivy.logger import Logger, LOG_LEVELS Logger.setLevel(LOG_LEVELS["debug"])
Kivy 的日誌記錄機制由環境變數 KIVY_LOG_MODE 控制,該變數具有三個可能的值:KIVY、PYTHON、MIXED。
預設的 KIVY_LOG_MODE 是 KIVY,因此係統中的所有日誌訊息都輸出到 Kivy 日誌檔案和控制檯。
如果將其設定為 PYTHON 模式,則不會新增任何處理程式,並且不會捕獲 sys.stderr 輸出。客戶端可以自行新增合適的處理程式。
在 MIXED 模式下,處理程式直接新增到 Kivy 的 Logger 物件,並且關閉傳播。sys.stderr 未重定向。
所有與日誌記錄相關的配置引數都可以在 config.ini 檔案的 [Kivy] 部分中找到。引數及其預設值如下:
log_dir = logs log_enable = 1 log_level = info log_name = kivy_%y-%m-%d_%_.txt log_maxfiles = 100
請注意,即使未啟用日誌記錄器,您也可以訪問最後 100 個 LogRecords。
from kivy.logger import LoggerHistory print(LoggerHistory.history)