import logging
import os

log_dir = 'logs'
os.makedirs(log_dir, exist_ok=True)

formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')

# Filter logger
fil_logger = logging.getLogger('filter')
fil_handler = logging.FileHandler(os.path.join(log_dir,'filter.log'), encoding='utf-8')
fil_handler.setFormatter(formatter)
fil_logger.addHandler(fil_handler)
fil_logger.setLevel(logging.INFO)

# App logger (general)
app_logger = logging.getLogger('appLogger')
app_handler = logging.FileHandler(os.path.join(log_dir,'appLogger.log'), encoding='utf-8')
app_handler.setFormatter(formatter)
app_logger.addHandler(app_handler)
app_logger.setLevel(logging.INFO)


# App logger (general)
token_logger = logging.getLogger('tokens')
token_handler = logging.FileHandler(os.path.join(log_dir,'tokens.log'), encoding='utf-8')
token_handler.setFormatter(formatter)
token_logger.addHandler(token_handler)
token_logger.setLevel(logging.INFO)

# DB logger
db_logger = logging.getLogger('db')
db_handler = logging.FileHandler(os.path.join(log_dir,'db.log'), encoding='utf-8')
db_handler.setFormatter(formatter)
db_logger.addHandler(db_handler)
db_logger.setLevel(logging.INFO)

# Telegram logger
tg_logger = logging.getLogger('telegram')
tg_handler = logging.FileHandler(os.path.join(log_dir,'telegram.log'), encoding='utf-8')
tg_handler.setFormatter(formatter)
tg_logger.addHandler(tg_handler)
tg_logger.setLevel(logging.INFO)

#PUMP processing logger
pump_logger = logging.getLogger('pumpTokens')
pump_handler = logging.FileHandler(os.path.join(log_dir,'pumpTokens.log'), encoding='utf-8')
pump_handler.setFormatter(formatter)
pump_logger.addHandler(pump_handler)
pump_logger.setLevel(logging.INFO)

#BONK processing logger
bonk_logger = logging.getLogger('bonkTokens')
bonk_handler = logging.FileHandler(os.path.join(log_dir,'bonkTokens.log'), encoding='utf-8')
bonk_handler.setFormatter(formatter)
bonk_logger.addHandler(bonk_handler)
bonk_logger.setLevel(logging.INFO)

#Wallets processing logger
wallets_logger = logging.getLogger('wallets')
wallets_handler = logging.FileHandler(os.path.join(log_dir,'wallets.log'), encoding='utf-8')
wallets_handler.setFormatter(formatter)
wallets_logger.addHandler(wallets_handler)
wallets_logger.setLevel(logging.INFO)

#Wallets processing logger
walletsD_logger = logging.getLogger('walletsDebug')
walletsD_handler = logging.FileHandler(os.path.join(log_dir,'walletsDebug.log'), encoding='utf-8')
walletsD_handler.setFormatter(formatter)
walletsD_logger.addHandler(walletsD_handler)
walletsD_logger.setLevel(logging.INFO)
