import os
import socket
import sys
import loguru
from loguru._logger import Logger
# 是否为生产环境, None 则是调试环境(开发环境)
PRODUCE_ENV = os.environ.get("PRODUCE_ENV", None)
WORK_DIR = os.path.dirname(__file__)
LOG_FILE = os.path.join(WORK_DIR,"log", "1.log")
LOG_DIR = os.path.join(WORK_DIR,"log")
FORMAT = '{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {file}:{line} :{function} - {message}'
LOG_LEVEL = "DEBUG"
loguru.logger.remove()
# logger.add(sys.stderr, format='{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}')
# loggers = {}
# 用于存储已经添加的处理器(handlers)的信息,以避免重复添加
# def get_or_create_logger(name, stderr_level='DEBUG', logfile_level='DEBUG') ->Logger:
# if name not in loggers:
# # 如果 logger 实例还不存在,则创建一个新的并绑定上下文
# logger = loguru.logger.bind(name=name)
# loggers[name] = logger
# if stderr_level:
# logger.add(sys.stderr, format=FORMAT, level=stderr_level,filter=lambda record: record["extra"].get("name") == name)
# if logfile_level:
# logger.add(os.path.join(LOG_DIR,f"{name}.log"), format=FORMAT, level=logfile_level,filter=lambda record: record["extra"].get("name") == name)
# return loggers[name]
# logger = get_or_create_logger(".")
# logger.info(f"{logger.configure()}")
logger = loguru.logger
logger.add(sys.stderr, format=FORMAT, level="INFO")
logger.add(LOG_FILE, format=FORMAT, level="DEBUG")
logger.debug(f"load config:{ __file__}")
# openssl rand -hex 32
os.environ["SECRET_KEY"]="34581f02dcdbab9dc176d6bb578fb15cc6b8e66159865c14e1fc81cd1d92c2a6"
os.environ["DB_URL"]="postgresql://pg:pg@sv-v:5432/douyin"
os.environ["CLIENT_KEY"] = 'aw6aipmfdtplwtyq'
os.environ["CLIENT_SECRET"] = '53cf3dcd2663629e8a773ab59df0968b'
DOUYIN_OPEN_API="https://open.douyin.com"
CLIENT_KEY= 'aw6aipmfdtplwtyq'
CLIENT_SECRET = os.environ["CLIENT_SECRET"]
# HOST = socket.gethostbyname(socket.gethostname())
# 这个网址 https://open-douyin.magong.site 对应这台服务器的 192.168.1.32:8600 端口,因为这台服务器没有公网ip,所以在本地计算机无法通过 http://192.168.1.32:8600/ 访问到 fastapi 接口,只能通过 https://open-douyin.magong.site/ 访问
HOST = '::'
PORT = 8602 if os.environ.get("USER")=="mrh" else 8601
GRPC_VECTOR_HOST="192.168.2.32"
GRPC_VECTOR_PORT=18600
SECRET_KEY = os.environ.get("SECRET_KEY")
DB_URL=os.environ.get("DB_URL")
GRPC_VECTOR="10.0.0.32:18600"
ASR_ADDRESS = "10.0.0.32:10095"
ASR_EXE = "/home/user/code/open-douyin/bin/funasr_wss_client"
TEMP_DIR = os.path.join(WORK_DIR, "temp")
if not os.path.exists(TEMP_DIR):
os.makedirs(TEMP_DIR)
# 生产环境中绝对不能使用硬编码的 DATA 路径。否则后期负载均衡、数据扩容、迁移将会造成很大影响。
if not PRODUCE_ENV:
MNT_DOUYIN_DATA=f"{TEMP_DIR}/mnt_data"
else:
MNT_DOUYIN_DATA = os.environ["MNT_DOUYIN_DATA"]