Kaynağa Gözat

Update logging_service: add file handler

StrayWarrior 2 hafta önce
ebeveyn
işleme
668b3c1b3e
1 değiştirilmiş dosya ile 16 ekleme ve 2 silme
  1. 16 2
      logging_service.py

+ 16 - 2
logging_service.py

@@ -3,6 +3,9 @@
 # vim:fenc=utf-8
 
 import logging
+from logging.handlers import RotatingFileHandler
+
+import configs
 
 COLORS = {
     'DEBUG': '\033[0m',    # 蓝色
@@ -23,15 +26,26 @@ class ColoredFormatter(logging.Formatter):
         return message
 
 def setup_root_logger(level=logging.DEBUG):
-    console_handler = logging.StreamHandler()
-    console_handler.setLevel(logging.DEBUG)
     formatter = ColoredFormatter(
         '%(asctime)s - %(name)s %(funcName)s[%(lineno)d] - %(levelname)s - %(message)s'
     )
+    console_handler = logging.StreamHandler()
+    console_handler.setLevel(logging.DEBUG)
     console_handler.setFormatter(formatter)
+    file_handler = RotatingFileHandler(
+        '/var/log/agent_service/service.log',
+        maxBytes=64 * 1024 * 1024,
+        backupCount=5,
+        encoding='utf-8'
+    )
+    file_handler.setLevel(logging.DEBUG)
+    file_handler.setFormatter(formatter)
+
     root_logger = logging.getLogger()
     root_logger.handlers.clear()
     root_logger.addHandler(console_handler)
+    if configs.get_env() == 'prod':
+        root_logger.addHandler(file_handler)
 
     agent_logger = logging.getLogger('agent')
     agent_logger.setLevel(level)