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

实现后效果

相关推荐
runnerdancer8 小时前
LLM是怎么处理messages数组的,提示词缓存又是什么
前端·agent
陈随易9 小时前
VSCode的Copilot扩展支持接入DeepSeek,Kimi了!
前端·后端·程序员
我不是外星人10 小时前
有了 Harness Engineering ,真的还需要研发工程师吗?
前端·后端·ai编程
IT_陈寒13 小时前
JavaScript的闭包把我坑惨了,说好的内存会自动回收呢?
前端·人工智能·后端
Jackson__13 小时前
分享一个横向滚动案例,带悬停暂停,通用性很强
前端
MariaH14 小时前
git rebase的使用
前端
_柳青杨14 小时前
深入理解 JavaScript 事件循环
前端·javascript
阡陌Jony14 小时前
关于前端性能优化的一些问题:
前端
用户6000718191015 小时前
【翻译】简化 TSRX
前端
IT乐手16 小时前
佛德角逼平西班牙,国足还有啥借口?
前端