fix: respect user-specified log level in set_logger

Previously, the set_logger function would always set the log level to DEBUG, overriding any user-specified log level.
This commit is contained in:
yangdx
2025-02-21 14:46:27 +08:00
parent 1749678384
commit cff229a806
2 changed files with 10 additions and 5 deletions

View File

@@ -263,9 +263,8 @@ class LightRAG:
_storages_status: StoragesStatus = field(default=StoragesStatus.NOT_CREATED) _storages_status: StoragesStatus = field(default=StoragesStatus.NOT_CREATED)
def __post_init__(self): def __post_init__(self):
logger.setLevel(self.log_level)
os.makedirs(os.path.dirname(self.log_file_path), exist_ok=True) os.makedirs(os.path.dirname(self.log_file_path), exist_ok=True)
set_logger(self.log_file_path) set_logger(self.log_file_path, self.log_level)
logger.info(f"Logger initialized for working directory: {self.working_dir}") logger.info(f"Logger initialized for working directory: {self.working_dir}")
if not os.path.exists(self.working_dir): if not os.path.exists(self.working_dir):

View File

@@ -57,11 +57,17 @@ logger = logging.getLogger("lightrag")
logging.getLogger("httpx").setLevel(logging.WARNING) logging.getLogger("httpx").setLevel(logging.WARNING)
def set_logger(log_file: str): def set_logger(log_file: str, level: int = logging.DEBUG):
logger.setLevel(logging.DEBUG) """Set up file logging with the specified level.
Args:
log_file: Path to the log file
level: Logging level (e.g. logging.DEBUG, logging.INFO)
"""
logger.setLevel(level)
file_handler = logging.FileHandler(log_file, encoding="utf-8") file_handler = logging.FileHandler(log_file, encoding="utf-8")
file_handler.setLevel(logging.DEBUG) file_handler.setLevel(level)
formatter = logging.Formatter( formatter = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s" "%(asctime)s - %(name)s - %(levelname)s - %(message)s"