4 def _init_log_to_file(log_file, level, _format):
5 file_handler = logging.FileHandler(log_file)
6 file_handler.setLevel(level)
7 file_handler.setFormatter(logging.Formatter(_format))
11 def _init_log_to_console(level, _format):
12 console = logging.StreamHandler()
13 console.setLevel(level)
14 console.setFormatter(logging.Formatter(_format))
18 def _init_log(log_file, level=logging.INFO, clevel=logging.INFO):
19 _format = '%(asctime)s <%(levelname)s> [%(funcName)s.%(lineno)d]: %(message)s'
20 # _format = '%(asctime)s [%(levelname)s] %(message)s'
21 _verbose = '%(levelname)s %(asctime)s [%(filename)s:%(lineno)d] %(funcName)s ### %(message)s'
22 _simple = '<%(levelname)s> [%(filename)s:%(lineno)d] ### %(message)s'
23 file_handler = _init_log_to_file(log_file, level, _verbose)
24 console = _init_log_to_console(clevel, _simple)
25 return file_handler, console
28 def setup_logging(level=logging.INFO, log_file="/var/log/esp_test.log", clevel=logging.WARNING):
29 log = logging.getLogger()
31 file_handler, console = _init_log(log_file, level, clevel)
32 log.addHandler(file_handler)
33 log.addHandler(console)
36 if __name__ == "__main__":
38 logger = logging.getLogger("common")
39 logger.info('this is a test.')
40 logger.warning('this is a test.')
41 logger.error('this is a test.')