如何从控制台或Docker容器读取日志

时间:2020-02-24 14:12:41

标签: docker go asp.net-core logging console

我正在使用ASP.NET Core创建API。现在,我在控制台中生成日志以提高速度。

我想创建一个Go应用程序,以读取ASP.NET Core生成的那些日志(它们将在不同容器中的同一主机中运行)。

我的问题是如何使用Go读取ASP.NET Core日志记录的控制台输出。我使用默认的日志记录:

.ConfigureLogging(logging =>
{
        logging.ClearProviders();
        logging.AddConsole();
})

我还读到您可以在docker容器中输出日志,那是最好的选择吗?通常,对我的问题来说最好的选择是什么。

2 个答案:

答案 0 :(得分:1)

如果您的应用程序正在docker中登录到stdout,则可以使用docker logs读取日志。

例如,使用docker logs -f container_name实时跟踪容器的日志(替换为容器的名称)。

答案 1 :(得分:1)

我知道有两个go docker客户端。

  1. https://github.com/fsouza/go-dockerclient
  2. https://github.com/docker/go-docker

它们两个都有log方法来从容器中检索日志。