mirror of
https://github.com/langgenius/dify.git
synced 2024-11-16 11:42:29 +08:00
46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
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
|