Setup basic logging for reclass

* Create a new module, reclass.logs with a basic configuration
  provided to logging.config.dictConfig()
* Log messages to stderr by default
* Set default log (verbosity) level to ERROR
* Provide a new flag, --debug, to enable debug messaging (set log
  level to DEBUG)

This does not make use of the logging as much as provide the basic
structures to use.
diff --git a/reclass/cli.py b/reclass/cli.py
index 5666e16..f09067d 100644
--- a/reclass/cli.py
+++ b/reclass/cli.py
@@ -15,6 +15,7 @@
 from reclass.errors import ReclassException
 from reclass.defaults import *
 from reclass.constants import MODE_NODEINFO
+from reclass.logs import logger
 from reclass.version import *
 
 def main():
@@ -26,6 +27,7 @@
         options = get_options(RECLASS_NAME, VERSION, DESCRIPTION,
                               defaults=defaults)
 
+        logger.debug('defaults: %s' % options)
         storage = get_storage(options.storage_type, options.nodes_uri,
                               options.classes_uri, default_environment='base')
         class_mappings = defaults.get('class_mappings')
diff --git a/reclass/config.py b/reclass/config.py
index 17d0dc6..572cfed 100644
--- a/reclass/config.py
+++ b/reclass/config.py
@@ -42,6 +42,10 @@
                    action="store_true",
                    default=defaults.get('pretty_print', OPT_PRETTY_PRINT),
                    help='try to make the output prettier [%default]')
+    ret.add_option('-d', '--debug', dest='debug',
+                   action="store_true",
+                   default=False,
+                   help='enable logging to console for debug [%default]')
     return ret
 
 
diff --git a/reclass/logs.py b/reclass/logs.py
new file mode 100644
index 0000000..41da08e
--- /dev/null
+++ b/reclass/logs.py
@@ -0,0 +1,50 @@
+#
+# -*- coding: utf-8 -*-
+#
+# This file is part of reclass (http://github.com/madduck/reclass)
+#
+# Copyright © 2007–14 martin f. krafft <madduck@madduck.net>
+# Released under the terms of the Artistic Licence 2.0
+#
+
+import logging.config
+
+from reclass.config import get_options
+from reclass.defaults import RECLASS_NAME
+from reclass.version import VERSION, DESCRIPTION
+
+
+RECLASS_LOGGER = 'reclass'
+
+options = get_options(RECLASS_NAME, VERSION, DESCRIPTION)
+LOG_LEVEL = 'ERROR'
+if options.debug:
+    LOG_LEVEL = 'DEBUG'
+
+
+LOGGING_CONFIG = {
+    'version': 1,
+    'formatters': {
+        'verbose': {
+            'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
+        }
+    },
+    'handlers': {
+        'stderr': {
+            'class': 'logging.StreamHandler',
+            'formatter': 'verbose',
+            'level': 'DEBUG',
+        }
+    },
+    'loggers': {
+        RECLASS_LOGGER: {
+            'handlers': ['stderr'],
+            'level': LOG_LEVEL,
+        }
+    }
+}
+
+
+logging.config.dictConfig(LOGGING_CONFIG)
+logger = logging.getLogger(RECLASS_LOGGER)
+logger.debug('Enabling debug log messages')