python - 芹菜python记录器问题
问题描述
下面的日志记录系统片段适用于 django 应用程序,其日志遵循所需的甲酸盐,但在 celery 应用程序中失败
logging.config.dictConfig(
{
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"json": {
"format": "%(name)s %(module)s %(filename)s %(funcName)s %(lineno)d %(message)s ",
"class": "pythonjsonlogger.jsonlogger.JsonFormatter",
}
},
"handlers": {"json": {"class": "logging.StreamHandler", "formatter": "json"}},
"loggers": {
"": {"handlers": ["json"], "level": logging.DEBUG} # Set log level info
},
}
)
configure(
context_class=threadlocal.wrap_dict(dict),
logger_factory=stdlib.LoggerFactory(),
wrapper_class=stdlib.BoundLogger,
processors=[
stdlib.filter_by_level,
stdlib.add_logger_name,
stdlib.add_log_level,
stdlib.PositionalArgumentsFormatter(),
processors.TimeStamper(fmt="iso"),
processors.StackInfoRenderer(),
processors.format_exc_info,
processors.UnicodeDecoder(),
stdlib.render_to_log_kwargs,
],
)
log = structlog.getLogger(__name__)
log.info('Log content', input='some input')
在我的 celery 独立应用程序的情况下,这会失败。基本上,pythonjsonlogger 配置没有生效。日志带有默认记录器设置。我是不是错过了什么。任何帮助表示赞赏,谢谢
解决方案
推荐阅读
- swift - 用于展开和折叠的 SwiftUI 列表动画
- flutter - 如何根据从外部传递的更改值动态更改自定义小部件中成员的值
- ios - 全局设置对 UIButton 的引用
- c# - 应用程序在从套接字接收信息时停止
- swift - RealityKit – trackedRaycast 的 updateHandler 未调用
- asp.net - 如何在没有 AJAX 或 jQuery 的情况下滚动 GridView?
- ios - 我们如何在目标 C 中将标题“Sign in with Apple”更改为“Apple”?
- html - 按钮周围的 HTML CSS div 边距混淆不是通过 clearfix
- java - 为什么这些构造函数会出错?
- java - 如何从 Facebook 获取用户照片