Artificial intelligent assistant

loggingのaddHandlerの多重実行を防止する方法 JupyterLabGoogleColab addHandler Kernel(Python) logger from logging import getLogger, StreamHandler, Formatter, shutdown from logging import DEBUG, INFO, WARNING, ERROR, CRITICAL def init_logger(name='test.sample'): # Stream stream_formatter = Formatter( fmt='[%(asctime)s] <%(levelname)s> - %(message)s', datefmt="%Y-%m-%d %H:%M:%S %Z" # %z ) stream_handler = StreamHandler() stream_handler.setLevel(DEBUG) stream_handler.setFormatter(stream_formatter) logger = getLogger(name) logger.setLevel(DEBUG) logger.addHandler(stream_handler) logger.propagate = False init_logger() # logger = getLogger('test.sample') logger.debug(777)

`logger.addHandler` `logger.handlers`
handlers2addHandler


`
`

logging.basicConfig(...)logging.dictConfig(...

logger.handlers


logger = getLogger(name)
for h in logger.handlers[:]:
logger.removeHandler(h)
h.close()
logger.setLevel(DEBUG)
logger.addHandler(stream_handler)
logger.propagate = False


: `

> logger

root
getLogger


logger = getLogger(name)
if not getattr(logger, 'my_init', False):
logger.setLevel(DEBUG)
logger.addHandler(stream_handler)
logger.propagate = False
logger.my_init = True

xcX3v84RxoQ-4GxG32940ukFUIEgYdPy 0bdb9bf3af7e33bdceb618c8e610a32d