mirror of
https://gitee.com/dify_ai/dify.git
synced 2024-12-09 14:48:04 +08:00
44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
import logging
|
|
import os
|
|
import sys
|
|
from logging.handlers import RotatingFileHandler
|
|
|
|
from flask import Flask
|
|
|
|
|
|
def init_app(app: Flask):
|
|
log_handlers = None
|
|
log_file = app.config.get("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=1024 * 1024 * 1024,
|
|
backupCount=5,
|
|
),
|
|
logging.StreamHandler(sys.stdout),
|
|
]
|
|
|
|
logging.basicConfig(
|
|
level=app.config.get("LOG_LEVEL"),
|
|
format=app.config.get("LOG_FORMAT"),
|
|
datefmt=app.config.get("LOG_DATEFORMAT"),
|
|
handlers=log_handlers,
|
|
force=True,
|
|
)
|
|
log_tz = app.config.get("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
|