title: Error when config logging use logging.config.dictConfig in python
body: <p>First of all , I am using python.Try to config logging by a config json file and use <strong>logging.config.dictConfig()</strong> .I used it before and it work well. But this time I delete a little bit and some how it just doesn't work.
  My config file will look like this:</p>
  
  <pre><code>{
      "version": 1,
      "disable_existing_loggers": false,
      "formatters": {
          "simple": {
              "format": "%(name)-6s | %(levelname)-8s | %(message)s"
          },
          "info_format": {
              "format": "%(name)-6s | %(levelname)-6s | %(message)s"
          },
          "error_format": {
              "format": "%(filename)-8s | %(module)-12s | %(funcName)s | %(lineno)d : %(message)s"
          },
          "debug_format": {
               "format": "%(filename)-8s | %(module)-12s | %(funcName)s | %(lineno)d : %(message)s"
          }
      },
      "handlers": {
          "console": {
               "class": "logging.StreamHandler",
               "level": "DEBUG",
               "formatter": "simple",
               "stream": "ext://sys.stdout"
          },
          "info_handler": {
              "level": "INFO",
              "formatter": "info_format",
              "encoding": "utf8",
              "stream": "ext://sys.stdout"
          },
          "error_handler": {
              "level": "ERROR",
              "formatter": "error_format",
              "encoding": "utf8",
              "stream": "ext://sys.stderr"
          }
      },
      "loggers": {
          "info": {
               "level": "INFO",
               "handlers": ["console"],
               "propagate": "no"
           },
           "error": {
               "level": "ERROR",
               "handlers": ["console"],
               "propagate": "no"
           },
           "tornado.access": {
               "level": "INFO",
               "handlers": ["console"],
               "propagate": "no"
           },
           "tornado.general": {
               "level": "INFO",
               "handlers": ["console"],
               "propagate": "no"
           },
           "tornado.application": {
               "level": "ERROR",
               "handlers": ["console"],
               "propagate": "no"
           }
      }
  
  }
  </code></pre>
  
  <p>Here is how I config logging:</p>
  
  <pre><code>configParser = ConfigParser.ConfigParser()
  __ProjectPath = os.getcwd()
  config_path = __ProjectPath + "/configs/logconfig.json"
  with open(config_path, 'rt') as f:
      configs = json.loads(f.read())
      logging.config.dictConfig(configs)
  </code></pre>
  
  <p>That is the error message:</p>
  
  <pre><code>Traceback (most recent call last):
    File "/home/jonah/code/leancloud-demo/wsgi.py", line 13, in &lt;module&gt;
      from app import app
    File "/home/jonah/code/leancloud-demo/app.py", line 14, in &lt;module&gt;
      import log
    File "/home/jonah/code/leancloud-demo/log.py", line 51, in &lt;module&gt;
      logging.config.dictConfig(configs)
    File "/usr/lib/python2.7/logging/config.py", line 794, in dictConfig
      dictConfigClass(config).configure()
    File "/usr/lib/python2.7/logging/config.py", line 576, in configure
      '%r: %s' % (name, e))
  ValueError: Unable to configure handler u'error_handler': 'NoneType' object has no attribute 'split'
  
  Process finished with exit code 1
  </code></pre>
  
  <p>I had google for a while,just can not a answer.Sorry for my poor English.</p>