X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FTools%2FblocFissure%2Fgmu%2FinitLog.py;h=c665e5c75642c70002cd284cdec47c920764ac2c;hp=07c0c36407f3795db00c629f84e3c08ddba33d23;hb=HEAD;hpb=5482b99d07dd144fd5be299e722f39a81de3b5be diff --git a/src/Tools/blocFissure/gmu/initLog.py b/src/Tools/blocFissure/gmu/initLog.py index 07c0c3640..f6987031c 100644 --- a/src/Tools/blocFissure/gmu/initLog.py +++ b/src/Tools/blocFissure/gmu/initLog.py @@ -1,54 +1,121 @@ # -*- coding: utf-8 -*- +# Copyright (C) 2014-2024 EDF +# +# 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, or (at your option) any later version. +# +# 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 +# +"""Initialisations des impressions""" import logging +import os +import tempfile debug = 10 info = 20 warning = 30 error = 40 critical = 50 +always = 100 + +LOGFILE = tempfile.NamedTemporaryFile().name + "_blocFissure.log" + +LOG_LEVEL = warning + +logging.basicConfig(format='%(funcName)s[%(lineno)d] %(message)s', \ + level=logging.WARNING, \ + filename=LOGFILE, filemode='w') +ch = None +fh = None + +def setLogger(logfile, level, formatter): + """setLogger""" + global ch, fh + rootLogger = logging.getLogger('') + if fh is not None: + rootLogger.removeHandler(fh) + fh = None + if ch is not None: + rootLogger.removeHandler(ch) + ch = None + if logfile: + if os.path.exists(logfile): + os.remove(logfile) + fh = logging.FileHandler(logfile) + rootLogger.addHandler(fh) + fh.setFormatter(formatter) + else: + ch = logging.StreamHandler() + rootLogger.addHandler(ch) + ch.setFormatter(formatter) + rootLogger.setLevel(level) + +def setDebug(logfile=None): + """setDebug""" + global LOG_LEVEL + LOG_LEVEL = debug + level = logging.DEBUG + formatter = logging.Formatter('%(relativeCreated)d %(funcName)s[%(lineno)d] %(message)s') + setLogger(logfile, level, formatter) + logging.info('start Debug %s', LOG_LEVEL) + +def setVerbose(logfile=None): + """setVerbose""" + global LOG_LEVEL + LOG_LEVEL = info + level = logging.INFO + formatter = logging.Formatter('%(relativeCreated)d %(funcName)s[%(lineno)d] %(message)s') + setLogger(logfile, level, formatter) + logging.info('start Verbose %s', LOG_LEVEL) + +def setRelease(logfile=None): + """setRelease""" + global LOG_LEVEL + LOG_LEVEL = warning + level = logging.WARNING + formatter = logging.Formatter('%(funcName)s[%(lineno)d] %(message)s') + setLogger(logfile, level, formatter) + logging.warning('start Release %s', LOG_LEVEL) + +def setUnitTests(logfile=None): + """setUnitTests""" + global LOG_LEVEL + LOG_LEVEL = critical + level = logging.CRITICAL + formatter = logging.Formatter('%(funcName)s[%(lineno)d] %(message)s') + setLogger(logfile, level, formatter) + logging.critical('start UnitTests %s', LOG_LEVEL) + +def setPerfTests(logfile=None): + """setPerfTests""" + global LOG_LEVEL + LOG_LEVEL = critical + level = logging.CRITICAL + formatter = logging.Formatter('%(funcName)s[%(lineno)d] %(message)s') + setLogger(logfile, level, formatter) + logging.info('start PerfTests %s', LOG_LEVEL) + +def setAlways(logfile=None): + """setAlways""" + global LOG_LEVEL + LOG_LEVEL = always + level = logging.CRITICAL + formatter = logging.Formatter('%(relativeCreated)d %(funcName)s[%(lineno)d] %(message)s') + setLogger(logfile, level, formatter) + logging.info('start Always %s', LOG_LEVEL) -loglevel = warning - -def setDebug(): - global loglevel - logging.basicConfig(format='%(relativeCreated)d %(funcName)s[%(lineno)d] %(message)s', - level=logging.DEBUG) - loglevel = debug - logging.info('start Debug %s', loglevel) - -def setVerbose(): - global loglevel - logging.basicConfig(format='%(relativeCreated)d %(funcName)s[%(lineno)d] %(message)s', - level=logging.INFO) - loglevel = info - logging.info('start Verbose %s', loglevel) - -def setRelease(): - global loglevel - logging.basicConfig(format='%(funcName)s[%(lineno)d] %(message)s', - level=logging.WARNING) - loglevel = warning - logging.warning('start Release %s', loglevel) - -def setUnitTests(): - global loglevel - logging.basicConfig(format='%(funcName)s[%(lineno)d] %(message)s', - level=logging.CRITICAL) - loglevel = critical - logging.critical('start UnitTests %s', loglevel) - -def setPerfTests(): - global loglevel - logging.basicConfig(format='%(relativeCreated)d %(funcName)s[%(lineno)d] %(message)s', - level=logging.CRITICAL) - loglevel = critical - logging.info('start PerfTests %s', loglevel) - def getLogLevel(): - return loglevel - - #logging.basicConfig(filename='myapp.log', - # format='%(asctime)s %(message)s', - # datefmt='%m/%d/%Y %I:%M:%S %p', - # level=logging.DEBUG) + """getLogLevel""" + return LOG_LEVEL