123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import logging
- import os
- import sys
- from logging.handlers import RotatingFileHandler
- from flask import Flask
- from configs import dify_config
- def init_app(app: Flask):
- log_handlers = None
- log_file = dify_config.LOG_FILE
- if log_file:
- log_dir = os.path.dirname(log_file)
- os.makedirs(log_dir, exist_ok=True)
- log_handlers = [
- RotatingFileHandler(
- filename=log_file,
- maxBytes=dify_config.LOG_FILE_MAX_SIZE * 1024 * 1024,
- backupCount=dify_config.LOG_FILE_BACKUP_COUNT,
- ),
- logging.StreamHandler(sys.stdout),
- ]
- logging.basicConfig(
- level=dify_config.LOG_LEVEL,
- format=dify_config.LOG_FORMAT,
- datefmt=dify_config.LOG_DATEFORMAT,
- handlers=log_handlers,
- force=True,
- )
- log_tz = dify_config.LOG_TZ
- if log_tz:
- from datetime import datetime
- import pytz
- timezone = pytz.timezone(log_tz)
- def time_converter(seconds):
- return datetime.utcfromtimestamp(seconds).astimezone(timezone).timetuple()
- for handler in logging.root.handlers:
- handler.formatter.converter = time_converter
|