logger2js - JavaScript日志与调试工具库

logger2js - JavaScript日志与调试工具库

logger2js是一个功能强大的前端JavaScript日志与调试工具库,提供了丰富的日志输出、性能测试和代码调试功能。该库支持配置化引入,包含5种皮肤风格和丰富的API接口,如 a l e r t 增强方法、 alert增强方法、 alert增强方法、PF性能分析工具和$FT调用栈追踪等。控制台界面可拖拽调整,具备代码高亮、格式化、搜索等特性,并支持多种快捷键操作。通过简单引入logger.js文件即可提升前端开发调试效率,是开发者进行问题定位和性能优化的得力助手。
在这里插入图片描述

logger2js源代码 https://gitee.com/yanjianzhong007/logger2js

功能特点

日志输出系统

  • 提供$alert方法替代原生alert,支持多参数、彩色输出
  • 增强console对象方法(console.log/debug/info/warn/error),提供更丰富的格式化输出
  • 支持不同数据类型(Date/Function/Array/Object/DOM/json)的格式化显示
  • 可配置的时间戳显示,方便日志时序分析

调试辅助工具

  • 性能测试:通过$PF.begin()$PF.end()测量代码执行时间
  • 函数调用栈:使用$FT.show()输出函数调用路径,便于追踪代码执行流程
  • 错误处理$Error方法捕获异常并显示详细堆栈信息
  • 代码高亮:支持HTML、CSS、JavaScript等多种语言的代码高亮显示
  • 代码格式化:内置代码美化功能,提高代码可读性

交互式控制台

  • 可拖拽、调整大小的控制台界面
  • 多种皮肤样式选择(经典橘黄/清新湖蓝/神秘暗红/干净罗兰/古奇深绿)
  • 支持控制台折叠/展开、最大化/还原等操作
  • 右键上下文菜单,提供丰富的操作选项
  • 日志内容搜索功能,快速定位关键信息

快捷键支持

  • Shift + D: 在控制台输出当前活动元素的源代码
  • Shift + A: 隐藏控制台
  • Shift + K: 显示页面HEAD部分源代码
  • Shift + Q: 控制台界面换肤
  • Shift + F2: 移动控制台图标位置
  • Shift + V: 粘贴剪切板内容到控制台
  • F2: 控制台位置居中,尺寸重置
  • 方向键: 移动控制台位置

文件结构

logger/
├── Beautify.js           - 代码格式化模块
├── Debugger.html         - 调试器界面
├── Highlighter.js        - 代码高亮模块
├── Quick.html            - 快速启动界面
├── build.html            - 构建相关页面
├── images/               - 界面资源图片
│   └── ico/              - 图标资源
├── logger-base.js        - 基础功能模块
├── logger-core.js        - 核心功能实现
├── logger.css            - 控制台样式表
├── logger.js             - 入口文件
└── onlogger.js           - 日志事件处理

使用方法

基本引入

在HTML页面中引入logger.js文件:

<!-- 本地资源,完整参数示例 -->
<script type="text/javascript"src="logger.js"enabled="true"lang="cn"time="false"contextmenu="true"ease="false"highlighter="true"beautify="true"cookie="true"simplemode="true"min="false"moveborder="true"debug="false"skinid="0"
></script><!-- 在线资源,标准配置 -->
<script type ="text/javascript" src="https://gitee.com/yanjianzhong007/logger2js/raw/master/build/logger.js"   skinid="3"></script> 

配置参数说明

参数名说明可选值默认值
enabled是否启用logger功能true/falsetrue
lang界面初始语言cn/encn
time是否显示时间戳true/falsefalse
contextmenu是否启用右键菜单true/falsetrue
ease是否启用菜单缓动效果true/falsefalse
highlighter是否启用代码高亮true/falsetrue
beautify是否启用代码格式化true/falsetrue
cookie是否支持cookietrue/falsetrue
simplemode是否以简易模式显示控制台true/falsetrue
min是否初始显示为最小化true/falsefalse
moveborder是否显示调整大小的虚线框true/falsetrue
debug是否支持代码执行功能true/falsefalse
skinid皮肤ID0-40

核心API

日志输出
// 基本日志输出
$alert("这是一条日志信息", "#FFD700");// 多参数输出
$alert("参数1", "参数2", "参数3");// 控制台方法增强
console.log("普通日志");
console.debug("调试日志");
console.info("信息日志");
console.warn("警告日志");
console.error("错误日志");
性能测试
// 开始性能计时
$PF.begin();// 执行一些操作...// 结束计时并输出结果
$PF.end("操作名称", "green");
函数调用栈
// 在函数内部调用,输出调用栈
function test() {$FT.show();// 函数逻辑...
}
错误处理
// 捕获并输出错误信息
try {// 可能出错的代码
} catch (e) {$Error(e);
}

皮肤自定义

logger2js提供了5种内置皮肤,可通过skinid参数设置:

  • 0: 高贵橘黄
  • 1: 清新湖蓝
  • 2: 神秘暗红
  • 3: 干净罗兰
  • 4: 古奇深绿
    在这里插入图片描述

也可以通过控制台界面上的换肤按钮实时切换皮肤。

许可证

logger2js基于BSD许可证开源,详细信息请查看项目 LICENSE 文件。

作者信息

  • 初始开发者: yanjianzhong
  • 邮箱: yjz_ok@163.com
  • 项目地址: https://gitee.com/yanjianzhong007/logger2js

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/909357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Stone 3D使用RemoteMesh组件极大的缩小工程文件尺寸

Stone 3D的工程文件tsp默认包含了场景中所有的对象和数据&#xff0c;这样的好处是tsp可以单独离线保存&#xff0c;但坏处是tsp文件通常偏大。 解决这个问题的方法是把外部glb模型文件通过RemoteMesh组件来加载。 首先创建一个空实体&#xff0c;然后给该空实体添加RemoteMe…

【深入剖析】攻克 Java 并发的基石:Java 内存模型 (JMM) 原理与实践指南

0.引言 理解 JMM (Java Memory Model - JMM) 是掌握 Java 并发编程的关键&#xff0c;它定义了多线程环境下&#xff0c;线程如何与主内存以及彼此之间交互内存数据。 核心目标&#xff1a; JMM 旨在解决多线程编程中的三个核心问题&#xff1a; 原子性 (Atomicity)&#xf…

【Three.js】初识 Three.js

Threejs介绍 我们开发 webgl 主要是使用 threejs 这个库&#xff0c;因为 webGL太难用&#xff0c;太复杂&#xff01;但是现代浏览器都支持WebGL&#xff0c;这样我们就不必使用Flash、Java等插件就能在浏览器中创建三维图形。 threejs 它提供-一个很简单的关于WebGL特性的J…

【经验总结】ECU休眠后连续发送NM报文3S后ECU网络才被唤醒问题分析

目录 前言 正文 1.问题描述 2.问题分析 3.验证猜想 4.总结 前言 ECU的上下电/休眠唤醒在ECU开发设计过程中最容易出问题且都为严重问题,最近在项目开发过程中遇到ECU休眠状态下连续发送NM报文3S后才能唤醒CAN网络的问题,解决问题比较顺利,但分析过程中涉及到的网络休…

企业架构框架深入解析:TOGAF、Zachman Framework、FEAF与Gartner EA Framework

执行摘要 企业架构&#xff08;EA&#xff09;是一项至关重要的实践&#xff0c;它使组织能够协调其业务战略、运营流程和技术基础设施&#xff0c;以实现整体战略目标。企业架构框架作为结构化的方法论和综合性工具&#xff0c;旨在管理企业级系统的固有复杂性&#xff0c;提…

数字化动态ID随机水印和ID跑马灯实现教育视频防录屏

摘要&#xff1a;数字化动态ID随机水印和ID跑马灯技术可以有效保护数字教育资源。动态水印将用户信息随机显示在视频上且不可去除&#xff0c;能追踪录屏者并震慑盗版行为。ID跑马灯则自定义显示观看者信息&#xff0c;便于追踪盗版源头并提供法律证据。这些技术大幅增加盗版成…

< 自用文儿 腾讯云 VPS > Ubuntu 24 系统,基本设置

前言&#xff1a; 3 月份买的腾讯云的这台 VPS&#xff0c;刚发现现在退款&#xff0c;只能返回 0 元。测试应用已经迁移到JD&#xff0c;清除内容太麻烦&#xff0c;重装更简单。 因为配合政策&#xff0c;国内的云主机都有两个 IP 地址&#xff0c;一个内网&#xff0c;一个…

React ajax中的跨域以及代理服务器

Axios的诞生 为什么会诞生Axios&#xff1f;说到Axios我们就不得不说下Ajax。最初的旧浏览器页面在向服务器请求数据时&#xff0c;由于返回的是整个页面的数据&#xff0c;所以整个页面都会强制刷新一下&#xff0c;这对于用户来讲并不是很友好。因为当我们只需要请求部分数据…

HOT 100 | 73.矩阵置零、54.螺旋矩阵、48.旋转图像

一、73. 矩阵置零 73. 矩阵置零 - 力扣&#xff08;LeetCode&#xff09; 1. 解题思路 1. 使用两个数组分别标记每行每列是否有0&#xff0c;初始化全为False&#xff0c;遇到0就变成True。 2. 遍历矩阵&#xff0c;遇到0就将False改成True。 3. 再次遍历矩阵&#xff0c;更…

神经网络压缩

网络压缩技术学习笔记 以下笔记基于提供的 PDF 文件&#xff08;tiny_v7.pdf&#xff09;&#xff0c;总结了网络压缩技术的核心概念、实现原理和方法&#xff0c;特别针对多模态大模型、空间智能以及未来智能体&#xff08;Agent&#xff09;和通用人工智能&#xff08;AGI&a…

论索引影响性能的一面④ 索引失踪之谜【上】

梁敬彬梁敬弘兄弟出品 往期回顾 论索引影响性能的一面①索引的各种开销 论索引影响性能的一面②索引的使用失效 论索引影响性能的一面③ 索引开销与经典案例 开篇&#xff1a;DBA的深夜“寻人启事” 作为数据库的守护者&#xff0c;我们最信赖的伙伴莫过于“索引”。它如同一…

java集合(九) ---- Stack 类

目录 九、Stack 类 9.1 位置 9.2 特点 9.3 栈 9.4 构造方法 9.5 常用方法 9.6 注意点&#xff1a;循环遍历 Stack 类 九、Stack 类 9.1 位置 Stack 类位于 java.util 包下 9.2 特点 Stack 类是 Vector 类的子类Stack 类对标于数据结构中的栈结构 9.3 栈 定义&…

ARXML可视化转换工具使用说明

ARXML可视化转换工具 | 详细使用指南与说明 &#x1f4dd; 前言 自上篇文章《聊聊ARXML解析工具&#xff1a;我们是如何摆脱昂贵商业软件的》发布以来&#xff0c;收到了众多朋友的关注和咨询&#xff0c;这让我倍感荣幸&#xff01; 新朋友请注意&#xff1a;如果您还没有阅…

松胜与奥佳华按摩椅:普惠科技与医疗级体验的碰撞

在智能健康设备快速普及的今天&#xff0c;按摩椅已从奢侈品转变为家庭健康管理的重要工具。面对市场上琳琅满目的品牌&#xff0c;松胜与奥佳华凭借截然不同的发展路径&#xff0c;各自开辟出特色鲜明的赛道&#xff1a;前者以“技术普惠”理念打破高端按摩椅的价格壁垒&#…

一起学习Web 后端——PHP(二):深入理解字符与函数的使用

一、前言 在上一讲中&#xff0c;我们主要讲PHP的相关知识。本节我们将继续深入&#xff0c;学习&#xff1a; PHP 中各种语法字符、符号的含义与用法&#xff1b; PHP 中常用函数的种类、定义方式与实际应用。 这些知识是构建 Web 后端逻辑的基础&#xff0c;对于后期编写…

【Bluedroid】蓝牙启动之 GAP_Init 流程源码解析

蓝牙 GAP(通用访问配置文件)模块是蓝牙协议栈的核心组件,负责设备发现、连接管理及基础属性暴露等关键功能。本文围绕 Android蓝牙协议栈 GAP 模块的初始化流程与连接管理实现展开,结合代码解析其核心函数(GAP_Init、gap_conn_init、gap_attr_db_init)的功能逻辑,以及关…

最新四六级写作好词好句锦囊(持续更新中)

完整版四六级备考攻略可见另一篇博客~~&#xff08;喜欢的留个点赞收藏再走呗~~&#xff09; ​​​​​​四六级备考攻略-CSDN博客 一、通用 1、词组 2、单词 3、句型 二、老龄化、老年人 三、学习、社交、社会实践 四、文化、习俗 五、数字素养、数字技能 六、资…

Java 通用实体验证框架:从业务需求到工程化实践【生产级 - 适用于订单合并前置校验】

Java 通用实体验证框架&#xff1a;从业务需求到工程化实践【适用于订单合并前置校验】 一、业务验证痛点与需求背景 1. 传统验证方式的困境 传统验证方式存在代码冗余、维护成本高和扩展性差等问题。相同的验证逻辑在不同模块重复编写&#xff0c;修改验证规则时需要同步修…

PyArk飘云阁出品的ARK工具

PyArk是由飘云阁&#xff08;PiaoYunGe&#xff09;开发的一款功能强大的系统安全分析工具&#xff0c;主要用于Windows环境下的内核级检测与分析。该工具集成了进程管理、驱动模块扫描、内核及应用层钩子检测、进程注入等核心功能&#xff0c;旨在帮助安全研究人员深入识别潜在…

【高中数学之复数】已知复数z的幅角为60°,且|z-1|是|z|和|z-2|的等比中项,求|z|?(2003高考数学全国卷,解答题首题,总第17题)

【问题】 已知复数z的幅角为60&#xff0c;且|z-1|是|z|和|z-2|的等比中项&#xff0c;求|z|? 【来源】 2003高考数学全国卷&#xff0c;解答题首题&#xff0c;总第17题。 【解答】 解&#xff1a; 由复数辐长辐角定义有 zr*(Cos60iSin60) 据等比中项定义有&#xff1…