成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

怎么使用LlamaLogs顯示和調(diào)試NodeJS錯誤

這篇文章給大家分享的是有關怎么使用Llama Logs顯示和調(diào)試NodeJS錯誤的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

我們提供的服務有:網(wǎng)站建設、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、麻江ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的麻江網(wǎng)站制作公司

你是否想知道程序內(nèi)部發(fā)生了什么?是否希望以視覺方式檢查其內(nèi)部運作?

上面的動圖顯示了Llama Logs的一個例子。它是我創(chuàng)建的一個新工具,讓你實時看到你的應用程序的內(nèi)部運作。它已經(jīng)準備好了,你可以開始在你的應用程序中免費使用。

下面,我將通過一個示例演示如何使用Llama Logs顯示和調(diào)試基本Express應用程序中發(fā)生的錯誤。

開始

我將編寫一個基本的快速應用程序,該應用程序通過url參數(shù)接收用戶的電子郵件,如果該電子郵件是 llamalogs.com 域,則將其保存到數(shù)據(jù)庫中。

基本邏輯將如下所示

app.get('/', (req, res) => {
  let customerEmail = req.query.email
  let isDomainOk = domainCheck(customerEmail)

  if (isDomainOk) {
      saveEmail(customerEmail)
  }

  res.send('We received your email')
})

現(xiàn)在的問題是,我要寫一些檢查的代碼,如果用戶忘記在郵件中包含 @domain 部分,就會出錯。

const domainCheck = (customerEmail) => {
  // toLowerCase will fail if the [1] value is undefined!
  const domain = customerEmail.split("@")[1].toLowerCase()
  const domainIsOk = domain === "llamalogs.com"
  return domainIsOk
}

使用Llama Logs進行可視化

Llama Logs的設置非常簡單。一旦你注冊了llamalogs.com,你所需要做的就是通過npm安裝客戶端,然后開始然后開始記錄,Llama Logs將自動將你的日志轉換為交互式圖形。

因此,例如,讓我們將 domainCheck 方法更新為以下內(nèi)容

const domainCheck = (customerEmail) => {
  try {
    const domain = customerEmail.split("@")[1].toLowerCase()
    const domainIsOk = domain === "llamalogs.com"

    LlamaLogs.log({ sender: 'Server', receiver: 'Domain Check' })

    return domainIsOk

  } catch (e) {
    LlamaLogs.log({ 
      sender: 'Server', 
      receiver: 'Domain Check', 
      message: `input: ${customerEmail}; Error: ${e}`,
      isError: true
    })
  }
}

我們?yōu)槌晒褪〉慕Y果都添加了一個日志案例。然后,Llama Logs將使用 sender、receiverisError 屬性中提供的名稱,自動將應用程序中的活動可視化為一系列在組件之間移動的點。

在下面的圖形中,我們可以看到使用有效電子郵件對服務器運行幾次調(diào)用以及導致錯誤的調(diào)用的結果。

怎么使用Llama Logs顯示和調(diào)試NodeJS錯誤

調(diào)試

比可視化圖表中的活動更好,Llama Logs可以讓你實時地從錯誤中獲取數(shù)據(jù)。

還記得在 domainCheck 方法中我們將此屬性附加到Llama Log嗎?

message: `input: ${customerEmail}; Error: ${e}`,

通過使用此message屬性,這意味著當我們將鼠標懸停在紅色錯誤點上時,它將顯示該消息。下圖顯示了我停留在錯誤上,它表示的請求具有電子郵件參數(shù) == “jd”,缺少電子郵件域。

怎么使用Llama Logs顯示和調(diào)試NodeJS錯誤

通過使用Llama Logs可視化系統(tǒng)中的錯誤,你可以比以往更快,更輕松地發(fā)現(xiàn)錯誤的來源!

更多信息

有興趣的朋友請訪問https://llamalogs.com/了解更多信息。該應用是免費的,今天就可以使用。如果你有任何問題,請隨時與我聯(lián)系:andrew@llamalogs.com。

完整代碼

我認為這是一款小型Express應用程序,最簡單的方法是將所有代碼包含在此博客文章中。

const express = require('express')
const { LlamaLogs } = require('llamalogs');

LlamaLogs.init({
  accountKey: 'YOUR_ACCOUNT_KEY',
  graphName: 'YOUR_GRAPH_NAME'
});

const app = express()
const port = 3000

app.get('/', (req, res) => {
  LlamaLogs.log({ sender: 'User', receiver: 'Server' })

  let customerEmail = req.query.email
  let isDomainOk = domainCheck(customerEmail)

  if (isDomainOk) {
      saveEmail(customerEmail)
  }

  res.send('We received your email')
})

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})


const domainCheck = (customerEmail) => {
  try {
    const domain = customerEmail.split("@")[1].toLowerCase()
    const domainIsOk = domain === "llamalogs.com"

    LlamaLogs.log({ sender: 'Server', receiver: 'Domain Check' })

    return domainIsOk

  } catch (e) {
    LlamaLogs.log({ 
      sender: 'Server', 
      receiver: 'Domain Check', 
      message: `input: ${customerEmail}; Error: ${e}`,
      isError: true
    })
  }
}

const saveEmail = (customerEmail) => {
  // pretend we are saving to a database here
  LlamaLogs.log({ sender: 'Domain Check', receiver: 'Database' })
}

感謝各位的閱讀!關于怎么使用Llama Logs顯示和調(diào)試NodeJS錯誤就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網(wǎng)頁題目:怎么使用LlamaLogs顯示和調(diào)試NodeJS錯誤
新聞來源:http://jinyejixie.com/article24/ggspje.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站建設定制開發(fā)、網(wǎng)站設計網(wǎng)站內(nèi)鏈、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設
襄樊市| 德清县| 武冈市| 清涧县| 丹东市| 高淳县| 易门县| 阳春市| 郴州市| 梅河口市| 新安县| 峡江县| 连云港市| 克什克腾旗| 阳春市| 建宁县| 尼勒克县| 即墨市| 盘锦市| 南漳县| 凯里市| 麦盖提县| 炎陵县| 柯坪县| 新平| 甘南县| 东宁县| 巴彦淖尔市| 永胜县| 德令哈市| 乐东| 福海县| 息烽县| 噶尔县| 饶平县| 邹城市| 临泉县| 新昌县| 崇信县| 徐闻县| 珲春市|