]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Moving name of Logging to ExtendedLogging
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Mon, 10 Mar 2014 14:18:43 +0000 (15:18 +0100)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Mon, 10 Mar 2014 14:18:43 +0000 (15:18 +0100)
src/daComposant/daCore/ExtendedLogging.py [new file with mode: 0644]
src/daComposant/daCore/Logging.py [deleted file]

diff --git a/src/daComposant/daCore/ExtendedLogging.py b/src/daComposant/daCore/ExtendedLogging.py
new file mode 100644 (file)
index 0000000..43406bd
--- /dev/null
@@ -0,0 +1,143 @@
+#-*-coding:iso-8859-1-*-
+#
+# Copyright (C) 2008-2013 EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
+
+__doc__ = """
+    Ce module permet de mettre en place un logging utilisable partout dans
+    l'application, par défaut à la console, et si nécessaire dans un fichier.
+    
+    Il doit être appelé en premier dans AssimilationStudy (mais pas directement
+    dans les applications utilisateurs), en l'important et en instanciant un
+    objet :
+        import ExtendedLogging ; ExtendedLogging.ExtendedLogging()
+
+    Par défaut, seuls les messages du niveau WARNING ou au-delà sont disponibles
+    (donc les simples messages d'info ne sont pas disponibles), ce que l'on peut
+    changer à l'instanciation avec le mot-clé "level" :
+        import ExtendedLogging ; ExtendedLogging.ExtendedLogging(level=20)
+
+    On peut éventuellement demander à l'objet de sortir aussi les messages dans
+    un fichier (noms par défaut : AssimilationStudy.log, niveau NOTSET) :
+        import ExtendedLogging ; ExtendedLogging.ExtendedLogging().setLogfile()
+
+    Si on veut changer le nom du fichier ou le niveau global de message, il faut
+    récupérer l'instance et appliquer les méthodes :
+        import ExtendedLogging
+        log = ExtendedLogging.ExtendedLogging()
+        import logging
+        log.setLevel(logging.DEBUG)
+        log.setLogfile(filename="toto.log", filemode="a", level=logging.WARNING)
+    et on change éventuellement le niveau avec :
+        log.setLogfileLevel(logging.INFO)
+    
+    Ensuite, n'importe où dans les applications, il suffit d'utiliser le module
+    "logging" (avec un petit "l") :
+        import logging
+        log = logging.getLogger(NAME) # Avec rien (recommandé) ou un nom NAME
+        log.critical("...")
+        log.error("...")
+        log.warning("...")
+        log.info("...")
+        log.debug("...")
+    ou encore plus simplement :
+        import logging
+        logging.info("...")
+
+    Dans une application, à n'importe quel endroit et autant de fois qu'on veut,
+    on peut changer le niveau global de message en utilisant par exemple :
+        import logging
+        log = logging.getLogger(NAME) # Avec rien (recommandé) ou un nom NAME
+        log.setLevel(logging.DEBUG)
+    
+    On rappelle les niveaux (attributs de "logging") et leur ordre :
+        NOTSET=0 < DEBUG=10 < INFO=20 < WARNING=30 < ERROR=40 < CRITICAL=50
+"""
+__author__ = "Jean-Philippe ARGAUD"
+
+import os
+import sys
+import logging
+from PlatformInfo import PlatformInfo
+
+LOGFILE = os.path.join(os.path.abspath(os.curdir),"AssimilationStudy.log")
+
+# ==============================================================================
+class ExtendedLogging:
+    def __init__(self, level=logging.WARNING):
+        """
+        Initialise un logging à la console pour TOUS les niveaux de messages.
+        """
+        logging.basicConfig(
+            format = '%(levelname)-8s %(message)s',
+            level  = level,
+            stream = sys.stdout,
+            )
+        self.__logfile = None
+        #
+        # Initialise l'affichage de logging
+        # ---------------------------------
+        p = PlatformInfo()
+        #
+        logging.info( "--------------------------------------------------" )
+        logging.info( "Lancement de "+p.getName()+" "+p.getVersion() )
+        logging.info( "--------------------------------------------------" )
+        logging.info( "Versions logicielles :" )
+        logging.info( "- Python "+p.getPythonVersion() )
+        logging.info( "- Numpy "+p.getNumpyVersion() )
+        logging.info( "- Scipy "+p.getScipyVersion() )
+        logging.info( "" )
+
+#     def setLogfileLevel(self, level=logging.NOTSET ):
+#         """
+#         Permet de changer globalement le niveau des messages disponibles.
+#         """
+#         logging.getLogger().setLevel(level)
+# 
+    def setLogfile(self, filename=LOGFILE, filemode="w", level=logging.NOTSET):
+        """
+        Permet de disposer des messages dans un fichier EN PLUS de la console.
+        """
+        if self.__logfile is not None:
+            # Supprime le précédent mode de stockage fichier s'il exsitait
+            logging.getLogger().removeHandler(self.__logfile)
+        self.__logfile = logging.FileHandler(filename, filemode)
+        self.__logfile.setLevel(level)
+        self.__logfile.setFormatter(
+            logging.Formatter('%(asctime)s %(levelname)-8s %(message)s',
+                              '%d %b %Y %H:%M:%S'))
+        logging.getLogger().addHandler(self.__logfile)
+
+    def setLogfileLevel(self, level=logging.NOTSET ):
+        """
+        Permet de changer le niveau des messages stockés en fichier. Il ne sera
+        pris en compte que s'il est supérieur au niveau global.
+        """
+        self.__logfile.setLevel(level)
+    
+    def getLevel(self):
+        """
+        Renvoie le niveau de logging sous forme texte
+        """
+        return logging.getLevelName( logging.getLogger().getEffectiveLevel() )
+
+# ==============================================================================
+if __name__ == "__main__":
+    print '\n AUTODIAGNOSTIC \n'
diff --git a/src/daComposant/daCore/Logging.py b/src/daComposant/daCore/Logging.py
deleted file mode 100644 (file)
index 860f77b..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-#-*-coding:iso-8859-1-*-
-#
-# Copyright (C) 2008-2013 EDF R&D
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-
-__doc__ = """
-    Ce module permet de mettre en place un logging utilisable partout dans
-    l'application, par défaut à la console, et si nécessaire dans un fichier.
-    
-    Il doit être appelé en premier dans AssimilationStudy (mais pas directement
-    dans les applications utilisateurs), en l'important et en instanciant un
-    objet :
-        import Logging ; Logging.Logging()
-
-    Par défaut, seuls les messages du niveau WARNING ou au-delà sont disponibles
-    (donc les simples messages d'info ne sont pas disponibles), ce que l'on peut
-    changer à l'instanciation avec le mot-clé "level" :
-        import Logging ; Logging.Logging(level=20)
-
-    On peut éventuellement demander à l'objet de sortir aussi les messages dans
-    un fichier (noms par défaut : AssimilationStudy.log, niveau NOTSET) :
-        import Logging ; Logging.Logging().setLogfile()
-
-    Si on veut changer le nom du fichier ou le niveau global de message, il faut
-    récupérer l'instance et appliquer les méthodes :
-        import Logging
-        log = Logging.Logging()
-        import logging
-        log.setLevel(logging.DEBUG)
-        log.setLogfile(filename="toto.log", filemode="a", level=logging.WARNING)
-    et on change éventuellement le niveau avec :
-        log.setLogfileLevel(logging.INFO)
-    
-    Ensuite, n'importe où dans les applications, il suffit d'utiliser le module
-    "logging" (avec un petit "l") :
-        import logging
-        log = logging.getLogger(NAME) # Avec rien (recommandé) ou un nom NAME
-        log.critical("...")
-        log.error("...")
-        log.warning("...")
-        log.info("...")
-        log.debug("...")
-    ou encore plus simplement :
-        import logging
-        logging.info("...")
-
-    Dans une application, à n'importe quel endroit et autant de fois qu'on veut,
-    on peut changer le niveau global de message en utilisant par exemple :
-        import logging
-        log = logging.getLogger(NAME) # Avec rien (recommandé) ou un nom NAME
-        log.setLevel(logging.DEBUG)
-    
-    On rappelle les niveaux (attributs de "logging") et leur ordre :
-        NOTSET=0 < DEBUG=10 < INFO=20 < WARNING=30 < ERROR=40 < CRITICAL=50
-"""
-__author__ = "Jean-Philippe ARGAUD"
-
-import os
-import sys
-import logging
-from PlatformInfo import PlatformInfo
-
-LOGFILE = os.path.join(os.path.abspath(os.curdir),"AssimilationStudy.log")
-
-# ==============================================================================
-class Logging:
-    def __init__(self, level=logging.WARNING):
-        """
-        Initialise un logging à la console pour TOUS les niveaux de messages.
-        """
-        logging.basicConfig(
-            format = '%(levelname)-8s %(message)s',
-            level  = level,
-            stream = sys.stdout,
-            )
-        self.__logfile = None
-        #
-        # Initialise l'affichage de logging
-        # ---------------------------------
-        p = PlatformInfo()
-        #
-        logging.info( "--------------------------------------------------" )
-        logging.info( "Lancement de "+p.getName()+" "+p.getVersion() )
-        logging.info( "--------------------------------------------------" )
-        logging.info( "Versions logicielles :" )
-        logging.info( "- Python "+p.getPythonVersion() )
-        logging.info( "- Numpy "+p.getNumpyVersion() )
-        logging.info( "- Scipy "+p.getScipyVersion() )
-        logging.info( "" )
-
-#     def setLogfileLevel(self, level=logging.NOTSET ):
-#         """
-#         Permet de changer globalement le niveau des messages disponibles.
-#         """
-#         logging.getLogger().setLevel(level)
-# 
-    def setLogfile(self, filename=LOGFILE, filemode="w", level=logging.NOTSET):
-        """
-        Permet de disposer des messages dans un fichier EN PLUS de la console.
-        """
-        if self.__logfile is not None:
-            # Supprime le précédent mode de stockage fichier s'il exsitait
-            logging.getLogger().removeHandler(self.__logfile)
-        self.__logfile = logging.FileHandler(filename, filemode)
-        self.__logfile.setLevel(level)
-        self.__logfile.setFormatter(
-            logging.Formatter('%(asctime)s %(levelname)-8s %(message)s',
-                              '%d %b %Y %H:%M:%S'))
-        logging.getLogger().addHandler(self.__logfile)
-
-    def setLogfileLevel(self, level=logging.NOTSET ):
-        """
-        Permet de changer le niveau des messages stockés en fichier. Il ne sera
-        pris en compte que s'il est supérieur au niveau global.
-        """
-        self.__logfile.setLevel(level)
-    
-    def getLevel(self):
-        """
-        Renvoie le niveau de Logging sous forme texte
-        """
-        return logging.getLevelName( logging.getLogger().getEffectiveLevel() )
-
-# ==============================================================================
-if __name__ == "__main__":
-    print '\n AUTODIAGNOSTIC \n'