[imp] improved logging, now blacklist openerplib
authorniv-openerp <nicolas.vanhoren@openerp.com>
Thu, 29 Sep 2011 14:15:56 +0000 (16:15 +0200)
committerniv-openerp <nicolas.vanhoren@openerp.com>
Thu, 29 Sep 2011 14:15:56 +0000 (16:15 +0200)
bzr revid: nicolas.vanhoren@openerp.com-20110929141556-j92hlk7j2ahx8i70

.bzrignore
logging.json [new file with mode: 0644]
openerp-web.py

index 7ae985c..b83a43b 100644 (file)
@@ -9,4 +9,3 @@ RE:^include/
 RE:^share/
 RE:^man/
 RE:^lib/
-logging.cfg
diff --git a/logging.json b/logging.json
new file mode 100644 (file)
index 0000000..36b2952
--- /dev/null
@@ -0,0 +1,27 @@
+{
+    "version": 1,
+    "formatters": {
+        "simple": {
+            "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
+        }
+    },
+    "handlers": {
+        "console": {
+            "class": "logging.StreamHandler",
+            "level": "DEBUG",
+            "formatter": "simple",
+            "stream": "ext://sys.stdout"
+        }
+    },
+    "loggers": {
+        "web": {
+        },
+        "web.common.openerplib": {
+            "level": "INFO"
+        }
+    },
+    "root": {
+        "level": "DEBUG",
+        "handlers": ["console"]
+    }
+}
index 928a62e..e167568 100755 (executable)
@@ -2,6 +2,7 @@
 import optparse
 import os
 import sys
+import json
 import tempfile
 import logging
 import logging.config
@@ -48,7 +49,7 @@ logging_opts = optparse.OptionGroup(optparser, "Logging")
 logging_opts.add_option("--log-level", dest="log_level", type="choice",
                         default='debug', help="Global logging level", metavar="LOG_LEVEL",
                         choices=['debug', 'info', 'warning', 'error', 'critical'])
-logging_opts.add_option("--log-config", dest="log_config",
+logging_opts.add_option("--log-config", dest="log_config", default=os.path.join(os.path.dirname(__file__), "logging.json"),
                         help="Logging configuration file", metavar="FILE")
 optparser.add_option_group(logging_opts)
 
@@ -60,10 +61,13 @@ if __name__ == "__main__":
 
     os.environ["TZ"] = "UTC"
 
-    if not options.log_config:
-        logging.basicConfig(level=getattr(logging, options.log_level.upper()))
+    if sys.version_info >= (2, 7):
+        with open(options.log_config) as file:
+            dct = json.load(file)
+        logging.config.dictConfig(dct)
+        logging.getLogger("").setLevel(getattr(logging, options.log_level.upper()))
     else:
-        logging.config.fileConfig(options.log_config)
+        logging.basicConfig(level=getattr(logging, options.log_level.upper()))
 
     app = web.common.dispatch.Root(options)