【日志显示】vue实现前端展示后端带颜色的日志

需求: 实现前端展示后端带颜色的日志

通过loki获取项目产生的日志,并且在前端显示出来,一开始在没有经过处理的数据会显示一些乱码,并没有将字符转换

经过一番查询后,发现可以使用ansi_up来对日志进行操作颜色代码进行转化。

实现

使用ansi_up 实现

安装
javascript 复制代码
npm install ansi_up
引入
javascript 复制代码
import { AnsiUp} from 'ansi_up';
js使用
javascript 复制代码
try {
    
        let res: any = await gameServerLog(params)
        console.log(res);
        if (res.code == 0) {
         var ansi_up = new AnsiUp()//声明
         textarea2.value = ansi_up.ansi_to_html(res.data)  //使用
        }
    } catch (error) {
        console.log(error);
    }
html渲染

需要使用v-html

javascript 复制代码
 <div v-html="textarea2" style="white-space:normal"></div>
可能遇到的问题 br标签不换行
如若遇到br标签不换行,请参考如下,没有请忽略
javascript 复制代码
const logData = ref('') //替换br
//监听替换br
watchEffect(() => {
    logData.value = textarea2.value.replace(/&lt;br\/&gt;/g, ' </br>');
})
html渲染也需更改
javascript 复制代码
<div v-html="logData" style="white-space:normal"></div>

实现后效果

相关推荐
北海-cherish2 小时前
vue中的 watchEffect、watchAsyncEffect、watchPostEffect的区别
前端·javascript·vue.js
2501_915909063 小时前
HTML5 与 HTTPS,页面能力、必要性、常见问题与实战排查
前端·ios·小程序·https·uni-app·iphone·html5
white-persist4 小时前
Python实例方法与Python类的构造方法全解析
开发语言·前端·python·原型模式
新中地GIS开发老师5 小时前
Cesium 军事标绘入门:用 Cesium-Plot-JS 快速实现标绘功能
前端·javascript·arcgis·cesium·gis开发·地理信息科学
Superxpang5 小时前
前端性能优化
前端·javascript·vue.js·性能优化
Rysxt_5 小时前
Element Plus 入门教程:从零开始构建 Vue 3 界面
前端·javascript·vue.js
隐含5 小时前
对于el-table中自定义表头中添加el-popover会弹出两个的解决方案,分别针对固定列和非固定列来隐藏最后一个浮框。
前端·javascript·vue.js
大鱼前端5 小时前
Turbopack vs Webpack vs Vite:前端构建工具三分天下,谁将胜出?
前端·webpack·turbopack
你的人类朋友5 小时前
先用js快速开发,后续引入ts是否是一个好的实践?
前端·javascript·后端