如何阻止PNG警告"iCCP: known incorrect sRGB profile"打印到控制台?
禁止/过滤控制台警告输出的通用方案
不需要修改原有业务代码,直接在启动程序时操作即可:
- 全量屏蔽所有警告类输出:直接将程序的stderr错误流重定向到空设备,不会影响正常stdout输出
- Windows系统执行命令:
你的启动命令 2> nul - Linux/macOS系统执行命令:
你的启动命令 2> /dev/null
- Windows系统执行命令:
常见编程语言的无侵入屏蔽方案
针对常用语言的运行特性,可以用启动参数直接全局禁用警告输出,不需要调整原有代码:
- Python:启动时添加忽略警告参数
如果可以额外写一层入口脚本,也可以在wrapper脚本开头添加如下代码后再引入原有业务模块执行:python -W ignore 你的脚本名.pyimport warnings warnings.filterwarnings("ignore") - Java:启动时添加日志级别配置参数,禁用控制台警告输出
java -Djava.util.logging.ConsoleHandler.level=OFF -jar 你的jar包名.jar - Node.js:启动时添加禁用警告参数
node --no-warnings 你的脚本名.js
精准过滤指定警告
如果不需要屏蔽所有警告,只想过滤指定关键词的警告内容,可以用管道命令做行过滤:
- Linux/macOS系统:
你的启动命令 2>&1 | grep -v "要屏蔽的警告关键词" - Windows系统:
你的启动命令 2>&1 | findstr /v "要屏蔽的警告关键词"
内容的提问来源于stack exchange,提问作者ArrogantCoder
相关产品推荐
相关产品推荐

