gpt4 book ai didi

Docker 中的 Python 日志记录

转载 作者:行者123 更新时间:2023-12-02 05:49:32 27 4
gpt4 key购买 nike

我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本。我正在尝试查找由 Python Logger 模块生成的日志文件。下面是我的 Python 脚本

import time
import logging



def main():

logging.basicConfig(filename="error.log", level=logging.DEBUG)

start_time = time.time()
logging.debug("Program starts running at %d", start_time)


i = 0
while i < 1000:
print(i)
i += 1

while_time = time.time() - start_time

logging.debug("Program ends running at %d", while_time)

start_time = time.time()

logging.debug("Program starts running at %d", start_time)

for x in range(0, 100):
print(x)

if_time = time.time() - start_time

print('While took - %s Seconds' % while_time )
print('If took - %s Seconds' % if_time )

logging.debug("Program ends running at %d", start_time)


main()

我搜索了一下,发现Docker文件在/var/lib/docker/container/{con_id}/{con_id}.log中生成json格式的Log文件该日志文件仅包含标准输出,我找不到Python生成的日志文件。有没有办法找回该文件。

最佳答案

您已在命令logging.basicConfig(filename="error.log", level=logging.DEBUG)中为指定了文件'error.log' logger 将日志放入其中。该文件位于容器内部,并且由于容器是无状态的,因此您必须将日志文件挂载到本地计算机的某个位置,以便在关闭容器电源后进行访问。您可以阅读this了解更多信息。

顺便说一句,如果你想在日志文件已经启动时访问它,你可以使用 docker 的 exec 选项通过容器创建一个交互式 shell 并查找日志:

docker exec -it ${container_name}

This文档将有助于 exec 命令行选项。

关于Docker 中的 Python 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48657323/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com