Python 不同的日志:本地与docker(本地)与docker SWARM
经过一些特定步骤后,我在我的应用程序中记录了一些信息,这些是在3个不同环境中的结果:Python 不同的日志:本地与docker(本地)与docker SWARM,python,docker,logging,Python,Docker,Logging,经过一些特定步骤后,我在我的应用程序中记录了一些信息,这些是在3个不同环境中的结果: LOCAL [2020-07-31 08:38:46 -0400] [4810] [INFO] validation [2020-07-31 08:38:51 -0400] [4810] [INFO] valid DOCKER LOCAL [2020-07-30 20:38:55 +0000] [8] [INFO] validation INFO:app.main:validation [2020-07-30
LOCAL
[2020-07-31 08:38:46 -0400] [4810] [INFO] validation
[2020-07-31 08:38:51 -0400] [4810] [INFO] valid
DOCKER LOCAL
[2020-07-30 20:38:55 +0000] [8] [INFO] validation
INFO:app.main:validation
[2020-07-30 20:38:59 +0000] [8] [INFO] valid
INFO:app.main:valid
DOCKER SWARM
[2020-07-27 14:13:08 +0000] [9] [INFO] validation
INFO:app.main:validation
[2020-07-27 14:13:08 +0000] [9] [INFO] valid
INFO:app.main:valid
[2020-07-27 14:13:09 +0000] [9] [INFO] validation
INFO:app.main:validation
[2020-07-27 14:13:09 +0000] [9] [INFO] valid
INFO:app.main:valid
如您所见,当我在本地环境中运行应用程序时,它会正确记录日志,但在Docker中,它会复制所有内容
Docker env的交易是什么?从额外消息的格式来看,例如
INFO:app.main:validation
看起来好像有什么东西在Docker环境中调用logging.basicConfig()
。这可以是显式的,也可以是通过调用(例如,logging.info()
或类似函数)隐式的。以下是使用REPL的示例:
$ python3
Python 3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import logging
>>> logging.basicConfig(level=logging.INFO)
>>> logging.getLogger('app.main').info('validation')
INFO:app.main:validation
>>>
因此,在代码中寻找一个调用,如
logging.info()
或调用logging.basicConfig()
,这只会在停靠时发生。是否更改了默认的日志驱动程序?你是怎么得到这些日志的<代码>码头工人日志…?