Я разрабатываю службу REST в python, которая развернута как Lambda в AWS. Изначально в CLI Cloud Watch не было зарегистрировано ничего, поэтому я представил сторожевую башню.
Ниже мой файл logging.in.
[loggers]
keys=root
[handlers]
keys=screen, WatchtowerHandler
[formatters]
keys=logfileformatter
[logger_root]
level=DEBUG
handlers=screen
[logger_xyz]
level=DEBUG
handlers=screen, WatchtowerHandler
qualname=xyz
[formatter_logfileformatter]
format=%(asctime)s %(name)-12s: %(levelname)s %(message)s
class=logging.Formatter
[handler_logfile]
class=handlers.RotatingFileHandler
level=NOTSET
args=('log/xyz.log','a',100000,100)
formatter=logfileformatter
[handler_screen]
class=StreamHandler
args = (sys.stdout)
formatter=logfileformatter
[handler_WatchtowerHandler]
class=watchtower.CloudWatchLogHandler
formatter=formatter
send_interval=1
args= ()
вышеописанное прекрасно работает для регистрации конфигурационных файлов.
LOG.info("dev config detected")
Но не удается зарегистрировать LOG.info () из любого другого кода в приложении. в частности, вызовы REST, тогда как ведение журнала везде одинаково.