vue实现前端展示后端实时日志带颜色示例详解

 更新时间:2022年11月03日 14:50:58   作者:旋律代替花束丶  
这篇文章主要为大家介绍了vue实现前端展示后端实时日志带颜色示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

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

需求

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

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

操作

ansi_up

能够装换颜色代码

GitHub地址 https://github.com/drudru/ansi_up

安装

npm install ansi_up

引入

import {default as AnsiUp} from 'ansi_up';

使用

后端采用loki收集日志

this.logs = res.data.result[0].values
var ansi_up = new AnsiUp()
for (const i in res.data.result[0].values) {
  this.logs[i][1] = ansi_up.ansi_to_html(res.data.result[0].values[i][1])
}

渲染

<div v-for="(log, index) in logs" :key="index">
  <div v-html="log[1]" style="margin-bottom: 5px; font-size: 16px"></div>
</div>

显示

采用innerHTML例子

需求:

项目是一个管理系统,当执行安装任务时,需要把后端安装过程中的日志推送到前端,前端在页面上展示实时进度,并且与终端显示的颜色保持一致。
用websocket或者前端设置定时器的方式,定时去获取后端的json数据比较简单,比较纠结的是怎么显示颜色,方便用户直观看到安装过程中的进度,报错等信息。

后端拿到的json数据:

可以看到ansi 的颜色代码就好像乱码一样,如果直接展示到页面上,是不会转换ansi 的颜色代码,看到的就类似一个普通的txt文本,用户没法直观看到想要的信息。

解决

对ansi 的颜色代码进行转化,输出在页面上,需要用到的插件:ansi_up

项目地址:https://github.com/drudru/ansi_up

2.1 安装

$ npm install ansi_up

2.2 引入

import {default as AnsiUp} from 'ansi_up';

2.3 使用

var ansi_up = new AnsiUp;
var html = ansi_up.ansi_to_html(txt);   //调用ansi_to_html()方法,txt就是从后端拿到的json数据
var statusLog= document.getElementById("statusLog"); //statusLog 即是页面需要展示内容的div
statusLog.innerHTML = html;

效果

以上就是vue实现前端展示后端实时日志带颜色示例详解的详细内容,更多关于vue前端展示后端日志带颜色的资料请关注脚本之家其它相关文章!

相关文章

  • 基于Vue中this.$options.data()的this指向问题

    基于Vue中this.$options.data()的this指向问题

    这篇文章主要介绍了基于Vue中this.$options.data()的this指向问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 基于Vue3实现列表虚拟滚动效果

    基于Vue3实现列表虚拟滚动效果

    这篇文章主要为大家介绍了如何利用Vue3实现列表虚拟滚动效果,文中的示例代码讲解详细,对我们学习或工作有一定价值,需要的可以参考一下
    2022-04-04
  • vue中的v-show,v-if,v-bind的使用示例详解

    vue中的v-show,v-if,v-bind的使用示例详解

    这篇文章主要介绍了vue中的v-show,v-if,v-bind的使用,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • vue3+elementPlus项目支持设置默认附件方式

    vue3+elementPlus项目支持设置默认附件方式

    这篇文章主要介绍了vue3+elementPlus项目支持设置默认附件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • VueJS设计与实现之浅响应与深响应详解

    VueJS设计与实现之浅响应与深响应详解

    这篇文章主要为大家介绍了VueJS设计与实现之浅响应与深响应详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • vue3调度器scheduler功能和用法详解

    vue3调度器scheduler功能和用法详解

    调度器是vue3响应式系统中一个非常重要的特性,可调度性指的是当trigger 动作触发副作用函数重新执行时,有能力决定副作用函数执行的时机、次数以及方式,本文通过代码示例给大家介绍调度器是什么,有什么功能,怎么使用,感兴趣的同学可以借鉴阅读
    2023-06-06
  • Vue模仿ElementUI的form表单实例代码

    Vue模仿ElementUI的form表单实例代码

    这篇文章主要给大家介绍了关于Vue模仿ElementUI的form表单的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • JS 实现获取对象属性个数的方法小结

    JS 实现获取对象属性个数的方法小结

    这篇文章主要介绍了JS 实现获取对象属性个数的方法,结合实例形式总结分析了JS 获取对象属性个数的三种常用方法,需要的朋友可以参考下
    2023-05-05
  • Vue路由跳转步骤详解

    Vue路由跳转步骤详解

    这篇文章主要介绍了 Vue路由跳转步骤详解,主要介绍当访问API成功后跳转到新的Vue页面怎么处理,感兴趣的朋友跟随小编一起看看吧
    2023-07-07
  • Vue js如何用split切分并去掉空值和item的空格

    Vue js如何用split切分并去掉空值和item的空格

    这篇文章主要介绍了Vue js如何用split切分并去掉空值和item的空格,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06

最新评论