mirror of
https://github.com/chainstacklabs/pumpfun-bonkfun-bot.git
synced 2026-07-28 15:57:43 +00:00
65 lines
1.5 KiB
Python
65 lines
1.5 KiB
Python
"""
|
|
Logging utilities for the pump.fun trading bot.
|
|
"""
|
|
|
|
import logging
|
|
import sys
|
|
|
|
# Global dict to store loggers
|
|
_loggers: dict[str, logging.Logger] = {}
|
|
|
|
|
|
def get_logger(name: str, level: int = logging.INFO) -> logging.Logger:
|
|
"""Get or create a logger with the given name.
|
|
|
|
Args:
|
|
name: Logger name, typically __name__
|
|
level: Logging level
|
|
|
|
Returns:
|
|
Configured logger
|
|
"""
|
|
global _loggers
|
|
|
|
if name in _loggers:
|
|
return _loggers[name]
|
|
|
|
logger = logging.getLogger(name)
|
|
logger.setLevel(level)
|
|
|
|
if not logger.handlers:
|
|
formatter = logging.Formatter(
|
|
"%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
|
datefmt="%Y-%m-%d %H:%M:%S",
|
|
)
|
|
|
|
console_handler = logging.StreamHandler(sys.stdout)
|
|
console_handler.setFormatter(formatter)
|
|
logger.addHandler(console_handler)
|
|
|
|
_loggers[name] = logger
|
|
return logger
|
|
|
|
|
|
def setup_file_logging(
|
|
filename: str = "pump_trading.log", level: int = logging.INFO
|
|
) -> None:
|
|
"""Set up file logging for all loggers.
|
|
|
|
Args:
|
|
filename: Log file path
|
|
level: Logging level for file handler
|
|
"""
|
|
root_logger = logging.getLogger()
|
|
|
|
formatter = logging.Formatter(
|
|
"%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
|
datefmt="%Y-%m-%d %H:%M:%S",
|
|
)
|
|
|
|
file_handler = logging.FileHandler(filename)
|
|
file_handler.setLevel(level)
|
|
file_handler.setFormatter(formatter)
|
|
|
|
root_logger.addHandler(file_handler)
|