0123zzw666's picture
rushed demo
97c8e77
raw
history blame
1.48 kB
# coding=utf-8
import os
import sys
import logging
import platform
def check_macos():
os_name = platform.system()
if os_name == 'Darwin':
return True
return False
def setup_logger(level = None, logfile_name: str = 'search-agent'):
if level is None:
if os.getenv('SEARCH_AGENT_DEBUG', '0').strip().lower() in ('1', 'true'):
level = logging.DEBUG
else:
level = logging.INFO
formatter = logging.Formatter('%(asctime)s - %(filename)s - %(lineno)d - %(levelname)s - %(message)s')
handler = logging.StreamHandler()
# Do not run handler.setLevel(level) so that users can change the level via logger.setLevel later
handler.setFormatter(formatter)
# agent path
if check_macos():
agent_path = 'logs'
else:
agent_path = os.getenv('AGENT_PATH', 'logs')
if len(agent_path) > 0:
agent_path = agent_path + '/logs'
# check path
if not os.path.exists(agent_path):
os.makedirs(agent_path)
file_handler = logging.FileHandler(f'{agent_path}/{logfile_name}.log')
file_handler.setFormatter(formatter)
_logger = logging.getLogger(logfile_name)
_logger.setLevel(level)
_logger.addHandler(handler)
_logger.addHandler(file_handler)
return _logger
logger = setup_logger(logfile_name='search-agent')
access_logger = setup_logger(logfile_name='search-agent-access')
error_logger = setup_logger(logfile_name='search-agent-error')