如何高效的从上百万行log中查找有效信息?

利用Python提取log有用信息并写入excel 由于log日志比较记录的事件比较多,很难直观分析自己想要的数据信息,因此就想把log中的有用信息提取出来,便于分析: ‘’’ python #coding=utf-8 import re import os import time import xlwt import datetime path = r’C:\Users\qxrxxxx\Desktop\log’ downloadtime = ti... 阅读详情

工作中遇到用户反馈问题,通常最直接有效的办法就是获取用户日志,根据日志来排查问题。稍微大一点的项目,一天的log大概有上万行甚至上百万行。如何在短时间内排查问题呢?

提取关键信息

假设需要根据一个一百万行的log文件查某个问题,那往往只需要用户出现问题的那个时间点附近的log,另外,也只需要自己所关心的业务相关的log,其他业务的不需要关注。

一般来说,根据打印log的规范,其前缀都会包含业务相关的信息,比如业务相关的类名、函数名等等。我们只需要过滤出这些特定的log,就能很轻松的看到用户的点击流,以及到底走到了哪些异常的分支。

看log推荐用VSCode,有很多比较好用的插件,另外在打开和预览大文件时的性能也很棒。Filter Line是VSCode的一个插件,提供了根据关键字过滤log的功能。具体使用方法可以查看该插件的README。

前几天总监反馈了一个问题,说用户的某个公众号在同一时间收到了多条完全一样的消息。然后我拿到log之后,打开之后是这样的:
90w+的log,即使知道用户是在哪个时间点出现的bug,也很难快速查出具体原因。

但是,这么多log,和自己业务相关的,以及和用户反馈的bug相关的,其实很少:

90w+的log,在几秒钟时间提取了30条有效信息,立刻就判定后台确实在同一时间下发了重复的消息,然后拉后台同学排查即可。

对Filter Line的吐槽

上面介绍了使用Filter Line过滤log的例子,绝对是提升效率的神器。想想你用比别人更短的时间解决了问题,多刺激。先感谢这个插件的作者的付出。

但是让我很不习惯的是,对大文件的支持不太好,如果log文件比较大,需要使用所谓的“large file mode”,这不扯么,完全可以发现文件比较大时,自动切换策略,不需要使用者去做额外的工作。而且,亲测我把log文件删的只剩5k行,依然被当成large file。

顺便说说log相关的几点建议

  1. 根据log查问题,首先你的log要稍微全一些,如果平时写需求都不打log,那就很难查问题了。

  2. 打log时尽量上下文能串起来,打log不能走形式,而是为了后面出了问题容易反查,比如,用户某一次点击流的n行log,要能对应的上,要能看出来这个用户的关键信息和操作。

  3. 查问题时,尽量快,最明显的,同一个问题,你需要十分钟,别人需要一个小时,虽然最后都解决了,但是综合效果肯定差别很大。

  4. log里不要包含敏感信息,比如用户余额,聊天记录等等。

题图:傍晚的深圳湾一号。

数据结构实战:从顺序查找到哈希表,高效查找算法全解析 查找是计算机科学中的基础操作,其核心目标是在数据集合中快速定位目标元素。从最基础的顺序查找(O(n)时间复杂度)到二分查找(O(log n)),算法效率随数据结构优化而提升。在动态数据场景下,二叉排序树(BST)及其平衡变种(如AVL树和红黑树)通过树形结构实现高效查找与动态更新,其中红黑树凭借近似平衡的特性,在工程实践中广泛应用于读写均衡的场景,如Java的TreeMap。面对海量数据,B树与B+树通过多路平衡和磁盘友好设计,极大减少了I/O操作,成为数据库索引的基石。而散列表(哈希表)则通过哈希函数实现 阅读详情

相关推荐

Redis实践:使用Pub/Sub实现远程Trace或Log信息跟踪监控

一,背景需求        如果服务器有上百万用户同时在线,应用程序产生的用于调试或监控的Trace或Log信息一般都会写文件, 但是因为Trace信息量巨大,磁盘很快就会写满,需要及时删除这些文件,比如只保留2个小时内的Log文件。        当用户反馈有问题,需要查询Log文件才能够定位的时候,那么该用户的Log信息很容易被淹没在大量的 Log信息中,对定位分析照成了相当大的困难。

Gary的专栏 2644

Vscode 用Filter Line看日志,很爽

因为某种原因,我抛弃了Notepad++然后一直没有找到一个比较好的日志查看软件,最近发现Vscode里面的这个插件不错,给大家推荐一下。中文详情链接:https://everettjf....

嵌入式Linux 5057

深入解析MySQL redo log:原理、优化与实战应用

本文深入解析MySQL redo log的原理、优化与实战应用,揭示其作为数据库'应急记事本'的关键作用。通过详细讲解写入流程、崩溃恢复机制及关键参数调优,帮助开发者提升数据库性能与可靠性。特别针对生产环境常见问题提供排查方案,并分享SSD环境和云数据库的优化心得。

weixin_29291573的博客 380

日志过滤(vscode+Filter Line)

日志过滤(vscode+Filter Line)

徐同保的专栏 1万+

Log Parser实战指南:用SQL高效分析Windows日志与应急响应

日志分析是系统运维与安全应急响应中的基础能力,Windows事件日志更是还原攻击链的重要依据。面对事件查看器笨拙的筛选机制,Log Parser作为微软出品的命令行工具,以其轻量、无需部署、支持SQL查询的特性,成为单机取证和临时排查的利器。它能够快速从安全日志、系统日志、应用程序日志中提取关键字段,统计暴力破解来源、识别登录类型、发现后门账户与异常服务。在勒索病毒溯源、内部违规审计等场景中,Log Parser通过结构化查询大幅缩短排查时间,让安全分析师从海量事件ID与Message文本中迅速定位异常。无

weixin_34087307的博客 379

蓝桥杯国赛题解:巧用三角数与二分查找优化数列区间和查询

在算法竞赛和工程实践中,处理大规模数据查询的核心挑战往往在于时间复杂度。面对数列区间求和这类经典问题,直接模拟通常会导致超时(TLE),因此需要借助数学建模进行优化。其基本原理是将数列结构抽象为数学模型,例如本题中利用三角数(即前n个自然数之和)来描述数列的块状分布。通过结合平方和公式,可以推导出前缀和的快速计算公式。这项技术的核心价值在于,它将看似O(n)的查询复杂度降至O(log n),极大地提升了海量数据查询的效率。其典型应用场景包括竞赛编程中的大数据范围模拟题、数据库索引优化以及需要快速计算序列部分

weixin_30323631的博客 708

Sublime Text 过滤指定文本内容插件filterLines

工作中会遇到分析log的问题,一般我喜欢使用Sublime Text 工具,从设备中导出的log有时达到上w行,几k行轻轻松松,在这么一大堆的log中怎么查找相关信息呢?Ctrl+F 只是查找过滤关键词,那怎样提取关键词信息形成新的文本列表呢,这里就不得不提到一个插件FilterLine。

1852

Ubuntu20.04系统Cuckoo sandbox所需环境搭建及安装(超详细图文)

请勿叫我大神,我只是互联网的搬运工~ 前言 本教程以Ubuntu20桌面版作为示范,服务器版同样适用,但可能稍微麻烦一点,服务器版本的话安装Xmanage套装使用可能会相对轻松一些,由于后面会使用到vbox的使用,对vbox命令行操作不熟悉的小伙伴用xmanage可能会相对轻松一点。 提示:以下是本篇文章正文内容,下面案例可供参考 安装ubuntu20桌面版 步骤1:转到https://ubuntu.com/download/desktop下载下载.iso。 步骤2:使用您选择的虚拟机监控程序(VMWa

ElsonHY的博客 1万+

【亲测免费】 推荐文章:高效文本筛选工具 - Sublime Text的Filter Lines插件

推荐文章:高效文本筛选工具 - Sublime Text的Filter Lines插件 项目介绍 在软件开发、数据分析或是日常文本处理中,快速准确地筛选信息是提升效率的关键。针对这一需求,Filter Lines 插件应运而生,它为Sublime Text用户提供了强大的行筛选功能。只需轻松几步操作,即可实现基于字符串或正则表达式的行匹配查找,让您的代码浏览与文本分析工作变得更加高效。 项目技术分...

gitblog_00798的博客 1280

MIPI转LVDS芯片调试实战:从Kernel到UEFI的完整点亮流程

本文详细解析了MIPI转LVDS芯片调试的全流程,从Kernel驱动开发到UEFI早期初始化,涵盖I2C通信、电源时序控制等核心挑战。通过LT9211芯片实战案例,提供设备树配置、电源时序优化及显示异常排查等实用技巧,助力工程师高效完成屏幕调试工作。

weixin_30314813的博客 450

VS Code 配置 LaTeX 写作环境完全指南

本文详细介绍了如何在 VS Code 中配置 LaTeX 写作环境,涵盖了从安装必备组件到高级功能的全面指南。首先,用户需要安装 LaTeX 发行版(如 TeX Live 或 MiKTeX)和 VS Code 插件(如 LaTeX Workshop)。接着,通过修改 settings.json 和 keybindings.json 文件,用户可以自定义编译、查看快捷键等基础配置。文章还提供了高效写作技巧,如使用代码片段和多文件项目管理,并介绍了高级功能如反向同步、公式预览和参考文献管理。此外,针对常见问题(

weixin_70043030的博客 1984

如何用 TaoToken 高效从上百万行 log 中查找有效信息?

90万行日志排查重复消息,用VSCode的Filter Line按业务前缀与时间窗口先做减法,再借TaoToken统一API通道让模型分析过滤片段。文中给出可复制的settings.json配置、grep命令与curl请求示例,并整理401、local proxy failed等常见报错排查。详见 https://taotoken.net/?utm_source=taotoken_aicg_blog_end

weixin_42577735的博客 6

用Arduino和8个舵机,从零搭建一台能走路的并联腿机器狗(附完整代码与3D模型)

本文详细介绍了如何用Arduino和8个舵机从零搭建一台能走路的并联腿机器狗,包括硬件准备、结构组装、电路系统搭建、运动算法实现和Arduino编程。通过完整的代码与3D模型,帮助创客深入理解机器人运动原理,实现稳健行走的8自由度机器狗。

weixin_30482383的博客 702

FDU 2020 | 二叉搜索树父节点的高效查找算法

本文针对FDU 2020算法题,探讨了在二叉搜索树中高效查找每个节点父节点的算法。通过分析朴素数组模拟法O(n²)的瓶颈,提出利用有序集合(如C++ STL set)在O(n log n)时间内快速定位插入点前驱与后继的核心优化方案,并对比了手写平衡树等进阶方法,为处理大规模动态数据提供了实用思路。

c6d7e8f9g的博客 1068

手把手教你用STM32+LAN8720搭建以太网通信模块(含原理图)

本文详细介绍了如何使用STM32微控制器与LAN8720物理层芯片搭建以太网通信模块,涵盖硬件设计、软件配置及常见问题排查。重点讲解了LAN8720的低功耗设计、RMII接口简化布线等特性,以及STM32CubeMX配置和LwIP协议栈移植技巧,助力开发者快速实现稳定可靠的嵌入式网络通信。

CAT789的专栏 413

Unity之Timeline教程

Unity Timeline是Unity的一种时间轴编辑器工具,用于制作和管理游戏中的动画、剧情以及事件触发。它提供了直观的界面,使得开发者可以通过拖放操作轻松创建和编辑时间轴。Activation Track:用于控制物体的激活状态。可以在轨道上添加关键帧,控制物体的激活和非激活状态。Animation Track:用于处理物体的动画。可以在此轨道上添加关键帧,编辑物体的动画状态。Audio Track:用于处理场景中的音频。可以管理音频的播放、暂停、淡入淡出等操作。

TxNet 9442

查找算法详解:从顺序查找到B+树的原理与工程选型

查找的本质是快速缩小搜索范围,而衡量算法优劣的核心指标就是比较次数与时间复杂度。从最基础的顺序查找,到依赖有序性的二分查找,再到通过散列函数实现常数级定位的哈希表,以及面向磁盘IO优化的B+树,每种数据结构都在特定场景下发挥着不可替代的价值。理解这些算法的设计原理,不仅有助于应对考研和面试中的高频考点,更能指导实际项目中的技术选型。本文结合C语言实现与性能实测数据,系统梳理了顺序查找、二分查找、二叉排序树、哈希表及B+树的核心机制,深入剖析了二分查找的边界条件、哈希冲突处理、负载因子与扩容等工程实践中的关键

weixin_33755557的博客 366

ESD防护设计宝典(十一):CE(传导发射)超标问题排查与解决

(Conducted Emission, CE),亦称为传导骚扰,是电子电气设备或系统内部的电压、电流通过信号线、电源线或地线向外传输,对其他电子电气设备或系统造成电磁干扰的物理现象。其。

m0_56451176的博客 856

ASKTOM 关于更新上百万的数据方法

<br />假设如果我要更新数百万以上的数据, 我大概会选择不去’更新’ (UPDATE)吧.<br /><br /> 我很有可能会用以下的方法:<br /><br /> CREATE TABLE new_table as select <在此更新> from old_table;<br /> index new_table (给新的表创建索引)<br /> grant on new table (授权于新的表)<br /> add constraints on new_table (给新的表加上

海鲨数据库架构师 6958

120、ISP 驱动架构解析:从 V4L2 请求到 ISP 硬件的配置下发流程

本文以实际案例解析ISP驱动架构的V4L2到硬件配置下发流程。作者通过一个因内存共享导致画面闪烁的bug案例,详细剖析了用户空间参数通过V4L2结构体传递、驱动层拆包与硬件寄存器映射、时序同步机制等关键环节。特别强调深拷贝、dirty flag增量更新、shadow register等实现要点,并给出多路并发隔离、寄存器写入失败等典型问题的排查方法。文章建议开发者深入理解参数到寄存器的转换过程,推荐通过debugfs实时监控寄存器状态,避免过度依赖自动调试工具。全文以实践为导向,对ISP驱动开发具有直接指导

sundong_81的博客 159

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

轻松打造高效日志系统

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。日志可以跟踪系统的 "健康状况",在系统出问题之前察觉到某些 "异常迹象"。

残星说梦话 832

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

蓝桥杯国赛真题《123》解析:从数列规律到前缀和与二分查找的算法优化

在算法设计与问题求解中,前缀和是一种基础且强大的技术,它通过预处理数据实现区间查询的快速响应,其核心原理是将序列的累积和预先计算并存储。这项技术的价值在于能将原本需要线性时间完成的区间求和操作优化至常数时间复杂度,极大地提升了处理大规模数据查询的效率,广泛应用于数据统计、动态规划以及需要频繁进行区间操作的场景。二分查找则是另一项经典算法,它通过在有序序列中高效定位目标,将线性搜索优化为对数级。当面对蓝桥杯国赛真题《123》这类构造特殊、数据范围巨大的数列求和问题时,结合数列的数学规律,将前缀和思想与二分查找

weixin_34318326的博客 344

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

二分查找算法:原理、实现与优化实践

二分查找是计算机科学中最基础且高效的有序数据检索算法,其核心基于分治思想,通过每次迭代将搜索空间减半实现O(log n)时间复杂度。该算法不仅是大规模数据处理的利器,更是理解算法设计中边界条件处理的经典案例。在工程实践中,二分查找广泛应用于数据库索引优化(如MySQL的B+树)、游戏开发中的快速检索等场景。针对不同需求,算法可扩展为查找首个/末个匹配项、旋转数组搜索等变体。优化技巧包括分支预测优化和缓存友好实现,而正确处理整数溢出和循环边界则是避免常见错误的关键。掌握二分查找不仅能提升程序性能,更是培养算法

weixin_34409357的博客 326
上一篇: 对那些双目失明的人,我们能做些什么?
下一篇: 如何发一条可靠的CGI请求
肖小的人儿
博客等级 码龄12年 29粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值