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
繁體地址,請注明出處:http://hk.pswp.cn/news/909357.shtml
英文地址,請注明出處:http://en.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…