Moved log setup code to Initialize() method to avoid multi-output caused by incorrect...
authorjwang36 <jwang36@7335b38e-4728-0410-8992-fb3ffe349368>
Fri, 18 Jan 2008 05:41:09 +0000 (05:41 +0000)
committerjwang36 <jwang36@7335b38e-4728-0410-8992-fb3ffe349368>
Fri, 18 Jan 2008 05:41:09 +0000 (05:41 +0000)
git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@948 7335b38e-4728-0410-8992-fb3ffe349368

Source/Python/Common/EdkLogger.py

index 6e23e9f..dc37e75 100644 (file)
@@ -36,33 +36,14 @@ ERROR   = 50
 # For validation purpose
 _LogLevels = [DEBUG_0, DEBUG_1, DEBUG_2, DEBUG_3, DEBUG_4, DEBUG_5, DEBUG_6, DEBUG_7, DEBUG_8, DEBUG_9, VERBOSE, WARN, INFO, ERROR, QUIET]
 
-#
-# Since we use different format to log different levels of message into differen
-# place (stdout or stderr), we have to use different "Logger" object to do this.
-# 
 # For DEBUG level (All DEBUG_0~9 are applicable)
 _DebugLogger = logging.getLogger("tool_debug")
-_DebugLogger.setLevel(INFO)
-_DebugChannel = logging.StreamHandler(sys.stdout)
-_DebugFormatter = logging.Formatter("[%(asctime)s.%(msecs)d]: %(message)s", datefmt="%H:%M:%S")
-_DebugChannel.setFormatter(_DebugFormatter)
-_DebugLogger.addHandler(_DebugChannel)
 
 # For VERBOSE, INFO, WARN level
 _InfoLogger = logging.getLogger("tool_info")
-_InfoLogger.setLevel(INFO)
-_InfoChannel = logging.StreamHandler(sys.stdout)
-_InfoFormatter = logging.Formatter("%(message)s")
-_InfoChannel.setFormatter(_InfoFormatter)
-_InfoLogger.addHandler(_InfoChannel)
 
 # For ERROR level
 _ErrorLogger = logging.getLogger("tool_error")
-_ErrorLogger.setLevel(INFO)
-_ErrorCh = logging.StreamHandler(sys.stderr)
-_ErrorFormatter = logging.Formatter("%(message)s")
-_ErrorCh.setFormatter(_ErrorFormatter)
-_ErrorLogger.addHandler(_ErrorCh)
 
 # String templates for ERROR/WARN/DEBUG log message
 _ErrorMessageTemplate = '\n%(tool)s...\n%(file)s(%(line)s): error %(errorcode)X: %(msg)s\n    %(extra)s'
@@ -215,6 +196,32 @@ def error(ToolName, ErrorCode, Message=None, File=None, Line=None, ExtraData=Non
 # Log information which should be always put out
 quiet   = _ErrorLogger.error
 
+def Initialize():
+    #
+    # Since we use different format to log different levels of message into differen
+    # place (stdout or stderr), we have to use different "Logger" object to do this.
+    # 
+    # For DEBUG level (All DEBUG_0~9 are applicable)
+    _DebugLogger.setLevel(INFO)
+    _DebugChannel = logging.StreamHandler(sys.stdout)
+    _DebugFormatter = logging.Formatter("[%(asctime)s.%(msecs)d]: %(message)s", datefmt="%H:%M:%S")
+    _DebugChannel.setFormatter(_DebugFormatter)
+    _DebugLogger.addHandler(_DebugChannel)
+    
+    # For VERBOSE, INFO, WARN level
+    _InfoLogger.setLevel(INFO)
+    _InfoChannel = logging.StreamHandler(sys.stdout)
+    _InfoFormatter = logging.Formatter("%(message)s")
+    _InfoChannel.setFormatter(_InfoFormatter)
+    _InfoLogger.addHandler(_InfoChannel)
+    
+    # For ERROR level
+    _ErrorLogger.setLevel(INFO)
+    _ErrorCh = logging.StreamHandler(sys.stderr)
+    _ErrorFormatter = logging.Formatter("%(message)s")
+    _ErrorCh.setFormatter(_ErrorFormatter)
+    _ErrorLogger.addHandler(_ErrorCh)
+    
 ## Set log level
 #
 #   @param  Level   One of log level in _LogLevel