登录
首页 >  Golang >  Go问答

为什么 tty=true(在 docker-compose.yml 中) 在 Gin 应用程序上突出显示日志?

来源:stackoverflow

时间:2024-04-26 21:51:37 381浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《为什么 tty=true(在 docker-compose.yml 中) 在 Gin 应用程序上突出显示日志?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

环境

docker 版本 19.03.13,内部版本 4484c46d9d

docker-compose 版本 1.22.0,构建 f46880fe

发生了什么

我开发了非常简单的 restful api,以便使用 gin 进行学习。

当我注意到我的代码中不需要 tty=true(in docker-compose.yml) 并将其删除时,日志突出显示会奇怪地消失。

删除 tty=true 之前

删除 tty=true 后

代码

docker-compose.yml

version: '3'

volumes:
  vendor:

services:
  api:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 3001:3001
    tty:
      true
    depends_on: 
      - db
  db:
    image: postgres:alpine
    environment:
      POSTGRES_USER: gorm
      POSTGRES_PASSWORD: gorm
      POSTGRES_DB: gorm
      POSTGRES_HOST: db
    ports:
      - 5432:5432

其他代码 https://gist.github.com/asuha-a/521b37c8ac56f5c52a1d4b5a76b2726d

我想知道

我不知道原因。 你觉得怎么样?


解决方案


这个问题可以通过评论解决。

DavidMaze:代码可以判断 stdout 是否为 tty,并相应地做出有关颜色的决定。在日志文件中,您通常不需要颜色转义代码,这会使文件难以阅读。

我:我不确定我是否理解您的评论,尤其是第一句中的主题。 “代码”是指终端代码吗?

DavidMaze:在本例中,我的意思是 Gin 正在使用的日志库。你可以调用一个函数(Google 很快就找到了这个库)并判断 stdout 是终端、文件、管道还是其他东西。

本篇关于《为什么 tty=true(在 docker-compose.yml 中) 在 Gin 应用程序上突出显示日志?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>