logger.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # 导入日志库
  2. import logging
  3. # 导入路径操作库
  4. import os
  5. # 导入配置类
  6. from base.config import Config
  7. def setup_logging(log_file=Config().LOG_FILE):
  8. # 创建日志目录
  9. os.makedirs(os.path.dirname(log_file), exist_ok=True)
  10. # 获取日志器
  11. logger = logging.getLogger("EnterpriseKB-RAG")
  12. # 设置日志级别
  13. logger.setLevel(logging.INFO)
  14. # 避免重复添加处理器
  15. if not logger.handlers:
  16. # 创建文件处理器
  17. file_handler = logging.FileHandler(log_file, encoding='utf-8')
  18. # 设置文件处理器级别
  19. file_handler.setLevel(logging.INFO)
  20. # 创建控制台处理器
  21. console_handler = logging.StreamHandler()
  22. # 设置控制台处理器级别
  23. console_handler.setLevel(logging.INFO)
  24. # 设置日志格式
  25. formatter = logging.Formatter(
  26. '%(asctime)s - %(pathname)s[line:%(lineno)d] - %(name)s - %(levelname)s - %(message)s')
  27. # 为文件处理器设置格式
  28. file_handler.setFormatter(formatter)
  29. # 为控制台处理器设置格式
  30. console_handler.setFormatter(formatter)
  31. # 添加文件处理器
  32. logger.addHandler(file_handler)
  33. # 添加控制台处理器
  34. logger.addHandler(console_handler)
  35. # 返回日志器
  36. return logger
  37. # 初始化日志器
  38. logger = setup_logging()
  39. def process_data(data):
  40. logger.debug(f"开始处理数据: {data}")
  41. if not data:
  42. logger.error("数据为空,无法处理")
  43. return None
  44. logger.info("数据处理完成")
  45. return data.upper()
  46. def main():
  47. logger.info("程序启动")
  48. result = process_data("hello")
  49. if result:
  50. logger.info(f"处理结果: {result}")
  51. else:
  52. logger.warning("处理失败")
  53. logger.info("程序结束")
  54. if __name__ == "__main__":
  55. main()