Skip to main content
Glama
logger_examples.py3.6 kB
""" 日志系统使用示例 """ from logger import ( create_logger, LogLevel, LoggerCategory, performance_logger, security_logger, default_logger ) # 创建专用日志记录器 cache_logger = create_logger("cache_service", LogLevel.DEBUG) template_logger = create_logger("template_service", LogLevel.INFO) def example_usage(): """日志系统使用示例""" # 1. 基础日志记录 default_logger.info("系统启动完成") default_logger.warning("检测到配置缺失,使用默认值") default_logger.error("连接数据库失败", exception=ConnectionError("超时")) # 2. 分类日志记录 cache_logger.debug( "缓存命中", category=LoggerCategory.CACHE, cache_key="user:123", hit=True ) template_logger.info( "模板加载完成", category=LoggerCategory.TEMPLATE, template_name="readme_basic", load_time_ms=150 ) # 3. 性能监控 performance_logger.start_timer("file_processing") # 模拟文件处理 import time time.sleep(0.5) performance_logger.end_timer("file_processing", { "file_count": 10, "total_size_mb": 25 }) # 4. 安全日志记录 security_logger.log_access_attempt( user_id="user123", resource="/admin/settings", success=False ) security_logger.log_permission_denied( user_id="user456", resource="/sensitive/data", reason="insufficient_privileges" ) # 5. 慢查询记录 performance_logger.log_slow_query( query="SELECT * FROM large_table WHERE complex_condition", duration=2.5, threshold=1.0 ) def example_structured_logging(): """结构化日志记录示例""" # 带有结构化数据的日志 default_logger.info( "用户操作完成", category=LoggerCategory.USER_ACTION, user_id="user123", action="generate_document", document_type="readme", processing_time_ms=1250, success=True, metadata={ "template_used": "advanced_template", "output_format": "markdown" } ) # 错误日志带有详细上下文 try: # 模拟一个可能出错的操作 result = 1 / 0 except Exception as e: default_logger.error( "计算错误", category=LoggerCategory.SYSTEM, exception=e, operation="division", operands=[1, 0], context="financial_calculation" ) def example_performance_monitoring(): """性能监控示例""" # 嵌套操作计时 performance_logger.start_timer("document_generation") # 第一步:读取模板 performance_logger.start_timer("template_loading") time.sleep(0.1) performance_logger.end_timer("template_loading", {"template_name": "readme"}) # 第二步:处理数据 performance_logger.start_timer("data_processing") time.sleep(0.3) performance_logger.end_timer("data_processing", {"record_count": 100}) # 第三步:生成文档 performance_logger.start_timer("document_rendering") time.sleep(0.2) performance_logger.end_timer("document_rendering", {"pages": 5}) performance_logger.end_timer("document_generation", { "document_type": "readme", "output_size_kb": 25 }) if __name__ == "__main__": example_usage() example_structured_logging() example_performance_monitoring()

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kscz0000/Zhiwen-Assistant-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server