python:dict的完整例子logging.config.dictConfig?
我想使用dictConfig ,但文档有点抽象。 我在哪里可以find与dictConfig
使用的字典的具体复制粘贴示例?
这里怎么样!
{ 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'standard': { 'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s' }, }, 'handlers': { 'default': { 'level': 'INFO', 'formatter': 'standard', 'class': 'logging.StreamHandler', }, }, 'loggers': { '': { 'handlers': ['default'], 'level': 'INFO', 'propagate': True }, 'django.request': { 'handlers': ['default'], 'level': 'WARN', 'propagate': False }, } }
接受的答案很好! 但是,如果可以从一个不太复杂的东西开始呢? 日志logging模块是非常强大的东西,文档是有点压倒,特别是新手。 但是一开始您不需要configuration格式化程序和处理程序。 你可以添加它,当你找出你想要的。
例如:
import logging 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')
#!/usr/bin/env python # -*- coding: utf-8 -*- import logging import logging.handlers from logging.config import dictConfig logger = logging.getLogger(__name__) DEFAULT_LOGGING = { 'version': 1, 'disable_existing_loggers': False, } def configure_logging(logfile_path): """ Initialize logging defaults for Project. :param logfile_path: logfile used to the logfile :type logfile_path: string This function does: - Assign INFO and DEBUG level to logger file handler and console handler """ dictConfig(DEFAULT_LOGGING) default_formatter = logging.Formatter( "[%(asctime)s] [%(levelname)s] [%(name)s] [%(funcName)s():%(lineno)s] [PID:%(process)d TID:%(thread)d] %(message)s", "%d/%m/%Y %H:%M:%S") file_handler = logging.handlers.RotatingFileHandler(logfile_path, maxBytes=10485760,backupCount=300, encoding='utf-8') file_handler.setLevel(logging.INFO) console_handler = logging.StreamHandler() console_handler.setLevel(logging.DEBUG) file_handler.setFormatter(default_formatter) console_handler.setFormatter(default_formatter) logging.root.setLevel(logging.DEBUG) logging.root.addHandler(file_handler) logging.root.addHandler(console_handler) [31/10/2015 22:00:33] [DEBUG] [yourmodulename] [yourfunction_name():9] [PID:61314 TID:140735248744448] this is logger infomation from hello module