2024-06-09 05:53:16 发布
网友
我想使用dictConfig,但是文档有点抽象。在哪里可以找到与dictConfig一起使用的词典的具体、可复制+可粘贴示例?
dictConfig
这里怎么样!
LOGGING_CONFIG = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { 'standard': { 'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s' }, }, 'handlers': { 'default': { 'level': 'INFO', 'formatter': 'standard', 'class': 'logging.StreamHandler', 'stream': 'ext://sys.stdout', # Default is stderr }, }, 'loggers': { '': { # root logger 'handlers': ['default'], 'level': 'WARNING', 'propagate': False }, 'my.packg': { 'handlers': ['default'], 'level': 'INFO', 'propagate': False }, '__main__': { # if __name__ == '__main__' 'handlers': ['default'], 'level': 'DEBUG', 'propagate': False }, } }
用法:
# Run once at startup: logging.config.dictConfig(LOGGING_CONFIG) # Include in each module: log = logging.getLogger(__name__) log.debug("Logging is configured.")
如果您看到来自第三方包的日志太多,可以在配置中取消根日志记录器的列表,以禁止显示这些消息。
我在下面找到了Django v1.11.15默认配置,希望有帮助
DEFAULT_LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'filters': { 'require_debug_false': { '()': 'django.utils.log.RequireDebugFalse', }, 'require_debug_true': { '()': 'django.utils.log.RequireDebugTrue', }, }, 'formatters': { 'django.server': { '()': 'django.utils.log.ServerFormatter', 'format': '[%(server_time)s] %(message)s', } }, 'handlers': { 'console': { 'level': 'INFO', 'filters': ['require_debug_true'], 'class': 'logging.StreamHandler', }, 'django.server': { 'level': 'INFO', 'class': 'logging.StreamHandler', 'formatter': 'django.server', }, 'mail_admins': { 'level': 'ERROR', 'filters': ['require_debug_false'], 'class': 'django.utils.log.AdminEmailHandler' } }, 'loggers': { 'django': { 'handlers': ['console', 'mail_admins'], 'level': 'INFO', }, 'django.server': { 'handlers': ['django.server'], 'level': 'INFO', 'propagate': False, }, } }
接受的答案很好!但如果一个人可以从不那么复杂的事情开始呢?日志模块是非常强大的东西,文档是有点压倒性的,特别是对于新手。但首先不需要配置格式化程序和处理程序。当你想清楚你想要什么时,你可以添加它。
例如:
import logging.config DEFAULT_LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'loggers': { '': { 'level': 'INFO', }, 'another.module': { 'level': 'DEBUG', }, } } logging.config.dictConfig(DEFAULT_LOGGING) logging.info('Hello, log')
这里怎么样!
用法:
如果您看到来自第三方包的日志太多,可以在配置中取消根日志记录器的列表,以禁止显示这些消息。
我在下面找到了Django v1.11.15默认配置,希望有帮助
接受的答案很好!但如果一个人可以从不那么复杂的事情开始呢?日志模块是非常强大的东西,文档是有点压倒性的,特别是对于新手。但首先不需要配置格式化程序和处理程序。当你想清楚你想要什么时,你可以添加它。
例如:
相关问题 更多 >
编程相关推荐