---
# System prepended metadata

title: Loggy 開發規格書

---

# Loggy 開發規格書
###### tags: 需求/規格文件

## 任務看板
[Github Project](https://github.com/users/eric12345566/projects/2)

## 需求
* 可以在任何地方新增 new 物件，但卻共用一個物件實例
    * 好處是 Log 可以輸出、分析等等
* 有可愛的圖示、可以更換 Theme
* 高度且容易客製化設定
    * Log 種類：Info、Debug、Warning或更多自己定義
    * Log 格式
    * 不同種類的顏色可自訂
    * 容易設定，想法為使用dict（類似於json的設定黨方式）
* 背景定時 call function Logging
    * 主動新增 thread worker，在背景 call 取值 function 來 log
* 可輸出至Logfile，且可以簡易的自訂輸出格式，高度設計
    * Logfile 可以依照不同 module 的 log 來整理
* Log輸出資訊
    * 可輸出 log 時間與日期
    * 可以輸出 module name，可自訂或使用__name__
    * 顯示 Log 的類型（INFO, DEBUG....那些的）


## 技術規格
* ~~使用單例來實作Loggy物件~~
    * 可能會有 multithreading 競爭的問題
    * 好處是可以省下記憶體空間，壞處是可能會造成競爭
* 因為單例可能會造成競爭，所幸先不用了
* 使用類似於MVC的架構來實作，將View、Controller與資料寫入的Model分開進行
* 用策略的概念，去實作theme
* 預設的log有 INFO, DEBUG, WARNING, ERROR, CRITICAL 五個級別



## Loggy Mom
### 簡介
