MCPcopy Create free account
hub / github.com/apache/cloudstack / MarvinLog

Class MarvinLog

tools/marvin/marvin/marvinLog.py:31–192  ·  view source on GitHub ↗

@Name : MarvinLog @Desc : provides interface for logging to marvin @Input : logger_name : name for logger

Source from the content-addressed store, hash-verified

29
30
31class MarvinLog:
32
33 '''
34 @Name : MarvinLog
35 @Desc : provides interface for logging to marvin
36 @Input : logger_name : name for logger
37 '''
38 logFormat = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
39 _instance = None
40
41 def __new__(cls, logger_name):
42 if not cls._instance:
43 cls._instance = super(MarvinLog, cls).__new__(cls)
44 return cls._instance
45
46 def __init__(self, logger_name):
47 '''
48 @Name: __init__
49 @Input: logger_name for logger
50 '''
51 self.__loggerName = logger_name
52 '''
53 Logger for Logging Info
54 '''
55 self.__logger = None
56 '''
57 Log Folder Directory
58 '''
59 self.__logFolderDir = None
60 self.__setLogger()
61
62 def __setLogger(self):
63 '''
64 @Name : __setLogger
65 @Desc : Sets the Logger and Level
66 '''
67 self.__logger = logging.getLogger(self.__loggerName)
68 self.__logger.setLevel(logging.DEBUG)
69
70 def __setLogHandler(self, log_file_path,
71 log_format=None,
72 log_level=logging.DEBUG):
73 '''
74 @Name : __setLogHandler
75 @Desc: Adds the given Log handler to the current logger
76 @Input: log_file_path: Log File Path as where to store the logs
77 log_format : Format of log messages to be dumped
78 log_level : Determines the level of logging for this logger
79 @Output: SUCCESS if no issues else FAILED
80 '''
81 try:
82 if log_file_path is not None:
83 stream = logging.FileHandler(log_file_path)
84 else:
85 stream = logging.StreamHandler(stream=sys.stdout)
86
87 if log_format is not None:
88 stream.setFormatter(log_format)

Callers 2

__initLoggingMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected