mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 02:42:59 +00: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
 | 
