每個強大的日誌系統都包含三個關鍵組件:收集器、儲存和視覺化器。 Winston 和 Pino 等流行的 Node.js 日誌模組僅充當日誌收集器。然而,Errsole 提供了完整的日誌記錄解決方案,其中包括:
日誌儲存:將日誌保存在檔案或應用程式的資料庫中。
內建儀表板:使用內建儀表板檢視、篩選和搜尋日誌。
警報:接收重大錯誤的即時通知。
安裝 Errsole 及其相依性
要使用 Errsole,您需要安裝 Errsole 模組以及基於您選擇的資料庫的儲存模組。以下是不同儲存選項的安裝步驟:
文件儲存:
npm install errsole errsole-sqlite
MongoDB:
npm install errsole errsole-mongodb
MySQL:
npm install errsole errsole-mysql
PostgreSQL:
npm install errsole errsole-postgres
建立自訂記錄器文件
在現實生活中的 Node.js 專案中,您將擁有多個檔案。要在專案的每個檔案中使用 Errsole Logger,請建立一個 logger.js 檔案並在其中初始化 Errsole:
const errsole = require('errsole'); const ErrsoleSQLite = require('errsole-sqlite'); errsole.initialize({ storage: new ErrsoleSQLite('/tmp/logs.sqlite') }); module.exports = errsole;
現在,您可以在專案中的每個檔案中匯入 logger.js 檔案並使用它來記錄:
const logger = require('./logger'); // Example usage logger.info('This is an informational message.'); logger.error('This is an error message.');
了解 Errsole 中的日誌級別
Errsole Logger 函數採用與 console.log 相同的參數。您可以提供一個或多個以逗號分隔的字串、物件或變數。此外,您可以使用 meta 函數將元資料附加到日誌訊息中。此元資料可以是任何上下文訊息,例如 HTTP 請求或資料庫查詢結果。
logger.meta({ reqBody: req.body, queryResults: results }).error(err); logger.meta({ email: req.body.email }).log('User logged in');
Errsole Logger 提供了五個日誌等級的功能:alert、error、warn、info 和 debug。
日誌/資訊:用於記錄訊息或資訊。
logger.log('Logging a message'); logger.log('Multiple', 'arguments', 'are supported'); logger.log('Logging with a variable:', var1); logger.log(new Error('An error occurred')); logger.log('Logging with an error object:', errorObject);
警報:記錄訊息並向配置的管道發送通知,例如電子郵件或 Slack。
logger.alert('Alert! Something critical happened');
錯誤:專門用來記錄錯誤。
logger.error(new Error('An error occurred'));
警告: 記錄警告訊息。
logger.warn('This is a warning message');
debug: 記錄偵錯訊息,通常用於開發過程中的故障排除。
logger.debug('Debugging information');
何時在程式碼中使用 logger.alert
每當您的 Node.js 應用程式崩潰時,Errsole 都會向您的開發團隊發送即時通知。此通知包括錯誤訊息、應用程式名稱、環境名稱和伺服器名稱。
要將嚴重錯誤新增至此通知列表,請在程式碼中使用 logger.alert。但是,請避免過度使用它,以防止通知淹沒您的開發人員。將其用於支付失敗或資料庫查詢失敗等嚴重錯誤。將錯誤物件放入警報函數中,並在元函數中新增所有上下文資訊。這使開發人員可以輕鬆調試關鍵錯誤。
logger.meta({ reqBody: req.body, queryResults: results }).alert(err);
結論
將完整的日誌記錄解決方案合併到 Node.js 應用程式中可確保強大的日誌管理和高效的偵錯。 Errsole 提供日誌儲存、內建儀表板和即時通知,使其成為完整的日誌記錄工具。
要開始使用 Errsole,請造訪 https://github.com/errsole/errsole.js。
以上是使用 Errsole 為 Node.js 應用程式建立自訂記錄器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。1.Python以简洁语法和丰富库生态著称,适用于数据分析和Web开发。2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

禪工作室 13.0.1
強大的PHP整合開發環境