在html中展示命令执行日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 有些时候需要把命令行程序的日志在页面中展示,比如这种场景。通常日志里可能含有进度的展示,比如curl的输出,这种展示依赖于r这种控制字符来起作用。遗憾的是如果直接作为html来输出,r会被当作换行,导致进度变成了无数行,比如这里的样子(虽然可能也不是大问题)。

有些时候需要把命令行程序的日志在页面中展示,比如这种场景。通常日志里可能含有进度的展示,比如curl的输出,这种展示依赖于r这种控制字符来起作用。遗憾的是如果直接作为html来输出,r会被当作换行,导致进度变成了无数行,比如这里的样子(虽然可能也不是大问题)。另外终端里也会有很多依赖转义序列来实现的带色彩的输出,比如git log的输出。题外话,有时候stdout的类型,会影响这个特性,比如git log | less当加上了管道之后,彩色输出会消失。这里有一些绕过的方法。

回到正题,我们希望带有r的输出,只保留最后的部分,像下面这样的效果:

image

同时将转义序列的彩色输出,也转换成对应的html。

尝试了好久,最终通过clearr和ansi-to-html这两个包可以比较好的做到,示例代码:

image

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
32 7
|
2月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
61 0
|
2月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
45 0
|
4月前
|
Ubuntu Linux Apache
在Linux中,如何使用logrotate命令管理日志文件?
在Linux中,如何使用logrotate命令管理日志文件?
|
4月前
|
存储 监控 安全
|
3月前
crash命令 —— log
crash命令 —— log
|
6月前
|
存储 监控 安全
深入探索Linux的journalctl命令:系统日志的利器
**journalctl 深入解析:Linux 系统日志的强大工具** journalctl 是 Linux 中用于查询和管理 systemd 日志的命令行工具,与 systemd-journald 配合收集广泛的信息,包括内核消息和服务日志。它提供实时追踪、过滤、导出等功能,如 `-f` 实时监控,`-u` 过滤特定服务日志,`-k` 显示内核消息,`--since` 和 `--until` 选择时间范围。在实际应用中,结合权限管理、日志空间控制和有效过滤,journalctl 成为系统管理员诊断和优化系统的得力助手。
|
6月前
|
SQL 关系型数据库 MySQL
|
5月前
|
应用服务中间件 Linux 开发工具
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​
|
6月前
|
监控 Linux 数据处理
深入了解Linux的logger命令:日志记录与监控
`logger`命令在Linux中用于向系统日志发送消息,便于记录系统事件和应用程序状态。它与`syslogd`配合,允许用户指定优先级、标识符和内容。简单易用,灵活适应不同日志需求。示例:`logger -p user.warning -t MYAPP "A warning occurred."`。注意选择合适优先级,使用有意义的标识符,并结合其他工具如`logrotate`进行日志管理。