gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [taler-taler-util] 11/51: Towards a usable solution for #44


From: gnunet
Subject: [GNUnet-SVN] [taler-taler-util] 11/51: Towards a usable solution for #4453.
Date: Mon, 23 Sep 2019 22:02:02 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository taler-util.

commit 47409eb122caf564c2e3facfce229caa14d78eae
Author: Marcello Stanisci <address@hidden>
AuthorDate: Mon Feb 4 18:01:23 2019 +0100

    Towards a usable solution for #4453.
---
 python/log/gnunet_log.py | 47 +++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 41 insertions(+), 6 deletions(-)

diff --git a/python/log/gnunet_log.py b/python/log/gnunet_log.py
index 91fe852..32b49a7 100755
--- a/python/log/gnunet_log.py
+++ b/python/log/gnunet_log.py
@@ -3,27 +3,62 @@
 # GNUNET_FORCE_LOG format [component];[file];[function];[from line [to 
line]];loglevel
 
 import os
+import logging
 
 class GnunetLogger:
+    
+    ERROR = logging.ERROR
+    WARNING = logging.WARNING
+    INFO = logging.INFO
+    DEBUG = logging.DEBUG
 
-    def __init__(self, component):
+    def __init__(self, component, loglevel):
         self.component = component
+        # loglevel set at "compile time".
+        self.loglevel = loglevel
+        logging.basicConfig(level=loglevel)
+        self.logger = logging.getLogger(component)
 
-    def wmn(self):
-        print(self.component)
+        self.level_map = {"ERROR": logging.ERROR,
+                          "WARNING": logging.WARNING,
+                          "INFO": logging.INFO,
+                          "DEBUG": logging.DEBUG}
 
-    def log(self):
+    def __internal_log(self, message, message_loglevel, ruling_loglevel):
+
+        if not ruling_loglevel:
+            print("Garbage loglevel fetched from env, not logging")
+        self.logger.setLevel(level=ruling_loglevel)
+
+        if GnunetLogger.ERROR == message_loglevel:
+            fn = self.logger.error
+        if GnunetLogger.WARNING == message_loglevel:
+            fn = self.logger.warning
+        if GnunetLogger.INFO == message_loglevel:
+            fn = self.logger.info
+        if GnunetLogger.DEBUG == message_loglevel:
+            fn = self.logger.debug
+        fn(message)
+
+    def log(self, message, loglevel):
         if not os.environ.get("GNUNET_FORCE_LOG"):
+            self.__internal_log(message, loglevel, self.loglevel)
             return
         gfl = os.environ.get("GNUNET_FORCE_LOG")
         gfl_split = gfl.split("/")
         for component in gfl_split:
-            gfl_split_split = gfl_split.split(";")
-            if 4 != len(gfl_split_split):
+            gfl_split_split = component.split(";")
+            if 5 != len(gfl_split_split):
                 print("warning: GNUNET_FORCE_LOG is malformed")
+                self.__internal_log(message, loglevel, self.loglevel)
                 return
             # if component chunk is not empty and different from
             # this component name, then abort, otherwise further
             # proceed.
             if gfl_split_split[0] and self.component != gfl_split_split[0]:
                 return
+
+            # for simplicity, and for now, we supersede the check
+            # of the 'file', 'function' and 'from line [to line]' bits.
+            # Just check the loglevel.
+            self.__internal_log(message, loglevel, 
self.level_map.get(gfl_split_split[4]))

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]