【问题标题】:Winston logs does not work in the Docker ContainerWinston 日志在 Docker 容器中不起作用
【发布时间】:2021-12-13 20:13:49
【问题描述】:

我正在使用 typescript 创建一个 nodejs/express 应用程序。我已经安装了winston 包。使用npm install winston。 我正在关注这个article。我想把这个码头化。

到目前为止我做了什么:

  1. 我已经在 logger.ts 中导入了 winston 包。
  2. 将 logger.js 文件导入 server.ts 文件。

当我运行npm run dev 命令时,Winston 记录器工作。我在控制台中看到了温斯顿日志。 当我在 docker 容器中实现相同的功能时。

我使用docker build -t docker-image . 命令然后docker-compose up

我的 Dockerfile:

FROM node:10
WORKDIR /app
COPY package*.json ./
RUN npm install
# Bundle app source
COPY . /app

EXPOSE 5000
CMD [ "node", "dist/server.js" ]

docker-compose.yml 文件:

version: '3'
services:
  app:
    container_name: hoptik-pims-node
    restart: always
    build: .
    ports:
      - '5000:5000'
    links:
      - mongo
  mongo:
    container_name: mongo
    image: mongo
    ports:
      - '2717:27017'

我尝试访问页面 http://localhost:5000/logger。我得到无法获取/记录器。 我不明白我做错了什么。最近几天我一直在尝试解决这个问题。谁能帮我解决这个问题。

提前致谢。

【问题讨论】:

    标签: node.js typescript docker express winston


    【解决方案1】:

    看来你做错了,为了查看日志,你不应该去 localhost:5000/logger,而应该使用以下命令查看 docker 日志

    docker logs <your-container-id> -f
    

    示例看起来像

    docker logs 2921e28c845f -f 
    

    docker logs 2921e28c845f5ba9c97c371b81e1d68db28650e576ea18b78592713362baa140 -f
    

    这应该会显示正确的日志。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-08
      • 2013-09-21
      • 2014-04-26
      • 2020-12-20
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      相关资源
      最近更新 更多