【日志显示】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看例子:
博客:https://blog.csdn.net/weixin_50561602/article/details/116496609

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
您可以使用Vue.js和Python Flask框架来实现后端交互。您需要使用Vue.js的Axios库来发送HTTP请求到Python Flask后端,并使用Flask的路由来处理这些请求。在Flask,您可以使用Python的logging模块来记录操作日志,并将这些日志返回给Vue.js前端。以下是一个简单的示例代码: Vue.js前端代码: ``` <template> <div> <button @click="getLogs">获取操作日志</button> <ul> <li v-for="log in logs" :key="log.id">{{ log.message }}</li> </ul> </div> </template> <script> import axios from 'axios'; export default { data() { return { logs: [], }; }, methods: { async getLogs() { const response = await axios.get('/logs'); this.logs = response.data.logs; }, }, }; </script> ``` Python Flask后端代码: ``` from flask import Flask, jsonify import logging app = Flask(__name__) # 设置日志记录器 logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) handler = logging.FileHandler('logs.log') handler.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) logger.addHandler(handler) # 路由处理函数 @app.route('/logs') def get_logs(): logs = [] with open('logs.log', 'r') as f: for line in f: logs.append({'id': len(logs) + 1, 'message': line.strip()}) return jsonify({'logs': logs}) if __name__ == '__main__': app.run() ``` 在这个示例,我们使用了Vue.js的Axios库来发送GET请求到Flask后端的/logs路由。在Flask,我们使用Python的logging模块来记录操作日志,并将这些日志返回给Vue.js前端。注意,我们在Flask设置了一个FileHandler来将日志记录到文件。您可以根据需要更改日志记录器的设置。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个有梦有戏的人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值