From 709a1317ef7211e0af401aecfe16564ea6706a99 Mon Sep 17 00:00:00 2001
From: lanvent <lanvent@qq.com>
Date: Tue, 4 Apr 2023 14:02:14 +0800
Subject: [PATCH] feat: add debug option

---
 .gitignore    | 1 +
 common/log.py | 4 ++++
 config.py     | 7 ++++++-
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index d5178c6..576fe60 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@ nohup.out
 tmp
 plugins.json
 itchat.pkl
+*.log
\ No newline at end of file
diff --git a/common/log.py b/common/log.py
index e00456e..f10eff9 100644
--- a/common/log.py
+++ b/common/log.py
@@ -8,6 +8,10 @@ def _get_logger():
     console_handle = logging.StreamHandler(sys.stdout)
     console_handle.setFormatter(logging.Formatter('[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d] - %(message)s',
                                                   datefmt='%Y-%m-%d %H:%M:%S'))
+    file_handle = logging.FileHandler('run.log', encoding='utf-8')
+    file_handle.setFormatter(logging.Formatter('[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d] - %(message)s',
+                                                  datefmt='%Y-%m-%d %H:%M:%S'))
+    log.addHandler(file_handle)
     log.addHandler(console_handle)
     return log
 
diff --git a/config.py b/config.py
index 1cdd6f1..b97c01f 100644
--- a/config.py
+++ b/config.py
@@ -1,6 +1,7 @@
 # encoding:utf-8
 
 import json
+import logging
 import os
 from common.log import logger
 
@@ -38,7 +39,6 @@ available_setting = {
     "rate_limit_chatgpt": 20,  # chatgpt的调用频率限制
     "rate_limit_dalle": 50,  # openai dalle的调用频率限制
 
-
     # chatgpt api参数 参考https://platform.openai.com/docs/api-reference/chat/create
     "temperature": 0.9,
     "top_p": 1,
@@ -82,6 +82,7 @@ available_setting = {
     # channel配置
     "channel_type": "wx", # 通道类型,支持wx,wxy和terminal
 
+    "debug": False,  # 是否开启debug模式,开启后会打印更多日志
 
 }
 
@@ -139,6 +140,10 @@ def load_config():
                 else:
                     config[name] = value
 
+    if config["debug"]:
+        logger.setLevel(logging.DEBUG)
+        logger.debug("[INIT] set log level to DEBUG")        
+
     logger.info("[INIT] load config: {}".format(config))