首頁 > web前端 > js教程 > 主體

使用 Errsole 為 Node.js 應用程式建立自訂記錄器

WBOY
發布: 2024-08-24 11:11:33
原創
573 人瀏覽過

每個強大的日誌系統都包含三個關鍵組件:收集器、儲存和視覺化器。 Winston 和 Pino 等流行的 Node.js 日誌模組僅充當日誌收集器。然而,Errsole 提供了完整的日誌記錄解決方案,其中包括:

  1. 日誌儲存:將日誌保存在檔案或應用程式的資料庫中。

  2. 內建儀表板:使用內建儀表板檢視、篩選和搜尋日誌。

  3. 警報:接收重大錯誤的即時通知。

安裝 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 都會向您的開發團隊發送即時通知。此通知包括錯誤訊息、應用程式名稱、環境名稱和伺服器名稱。

Creating a Custom Logger for a Node.js Application using 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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!