【日志显示】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>

实现后效果

相关推荐
万少4 小时前
HarmonyOS 开发必会 5 种 Builder 详解
前端·harmonyos
橙序员小站6 小时前
Agent Skill 是什么?一文讲透 Agent Skill 的设计与实现
前端·后端
炫饭第一名8 小时前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员
王晓枫9 小时前
flutter接入三方库运行报错:Error running pod install
前端·flutter
符方昊9 小时前
React 19 对比 React 16 新特性解析
前端·react.js
ssshooter9 小时前
又被 Safari 差异坑了:textContent 拿到的值居然没换行?
前端
曲折9 小时前
Cesium-气象要素PNG色斑图叠加
前端·cesium
Forever7_9 小时前
Electron 淘汰!新的桌面端框架 更强大、更轻量化
前端·vue.js
Angelial9 小时前
Vue3 嵌套路由 KeepAlive:动态缓存与反向配置方案
前端·vue.js
jiayu10 小时前
Angular学习笔记24:Angular 响应式表单 FormArray 与 FormGroup 相互嵌套
前端