tensorboard
file_level = cfg_logging.get("file_level", 10)
console_level = cfg_logging.get("console_level", 20): retrieve file level and console level- when set level = n, only show the information’s level that higher than this n. For example if set level=20, will not print DEBUG information
| Level Name | Value | Description |
|---|---|---|
| DEBUG | 10 | Most detailed logs, used for debugging |
| INFO | 20 | General runtime information |
| WARNING | 30 | Warning, but the program can still run |
| ERROR | 40 | Error, part of the program failed |
| CRITICAL | 50 | Severe error, the program may crash |
root_logger = logging.getLogger(): the logging top level controllerroot_logger.handlers.clear(): clear all handlers, for example:FileHandler,StreamHandler, avoid repetitive logroot_logger.setLevel(min(file_level, console_level)): set the minimum for root logger, anything lower than root logger will be entirely ignored, even though it been set up in handlers.
set up handler:
- what handler:
logging.FileHandler(logging_file_path) - what format of this handler:
xx_handler.setFormatter(formatter_object) - what level of this handler:
xx_handler.setLevel(level_number) - add this handler to root logger:
root_logger.addHandler(xx_handler)
handler:
- write into file:
logging.FileHandler() - write to terminal:
logging.StreamHandler()
other loggers:
- get root logger:
logging.getLogger() - get specific logger:
logging.getLogger("package_name"), for example:logging.getLogger("matplotlib") - set level for specific logger:
logging.getLogger("matplotlib").setLevel(logging.INFO)logging.INFO -> number 20