Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ubuntu最新版本在github runner中基于Python的彩色日志记录_Python_Github Actions_Python Logging - Fatal编程技术网

使用ubuntu最新版本在github runner中基于Python的彩色日志记录

使用ubuntu最新版本在github runner中基于Python的彩色日志记录,python,github-actions,python-logging,Python,Github Actions,Python Logging,我在python中使用这个库使用这个库 上述代码在我的本地测试中正常工作,测试以绿色打印。 但是,当我在github运行程序上运行此命令时 jobs: deploy: runs-on: ubuntu-latest steps: - name: Create workflow run: | python scripts/my-logging-file.py 运行程序上生成的输出没有任何颜色。是否有任何特定的环境。需要设置的变量或任何其他更改

我在python中使用这个库使用这个库

上述代码在我的本地测试中正常工作,
测试
以绿色打印。 但是,当我在github运行程序上运行此命令时

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Create workflow
      run: |
        python scripts/my-logging-file.py

运行程序上生成的输出没有任何颜色。是否有任何特定的环境。需要设置的变量或任何其他更改?

降级为
coloredlogs==12.0
可解决以下所述的问题,请参见的注释


coloredlogs
默认情况下使用自动检测,在linux上,只有在输出为TTY时才启用彩色输出。根据文档,它应该能够通过
**kw
isatty=True
传递到
彩色日志。安装
以强制彩色输出

但是文档和代码不一致,看起来代码有一个bug,强制彩色输出不起作用。看

导入彩色日志,日志记录
logger=logging.getLogger(_名称__)
安装(level='DEBUG',logger=logger,isatty=true)
logger.debug(“测试”)
彩色日志。安装(级别=无,**kw)

isatty
True
使用
ColoredFormatter
False
使用普通
格式化程序
(默认为使用
终端支持颜色()自动检测)

终端\u支持\u颜色
来自
人性化
,如果传递的流是TTY,则返回true。在GitHub操作运行程序中,输出被重定向

人性化。终端。终端支持颜色(流=无)

检查流是否连接到支持ANSI转义序列的终端。
Parameters:stream–要检查的流(类似文件的对象,默认为
sys.stdout
)。
返回:
True
如果终端支持ANSI转义序列,则返回False

源代码


谢谢,
人性化的.terminal.terminal\u支持颜色
在github runner(
ubuntu最新版本
)上实际返回
False
。有什么办法可以解决这个问题吗?
isatty=True
没有解决这个问题。文档和代码不一致,显然没有办法强制解决。请参阅。降级版本
coloredlogs==12.0
目前似乎可行
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Create workflow
      run: |
        python scripts/my-logging-file.py