使用ubuntu最新版本在github runner中基于Python的彩色日志记录
我在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 运行程序上生成的输出没有任何颜色。是否有任何特定的环境。需要设置的变量或任何其他更改
测试
以绿色打印。
但是,当我在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