溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Angular+Service怎樣改進日志功能

發(fā)布時間:2021-09-17 10:37:54 來源:億速云 閱讀:106 作者:柒染 欄目:web開發(fā)

Angular+Service怎樣改進日志功能,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

Angular+Service怎樣改進日志功能

改善在Angular 應用中的日志使用方式

Angular是一個非常受歡迎的開發(fā)框架,前端開發(fā)者們喜歡在應用中使用console去調(diào)試它們的代碼,但是由于持續(xù)交付/部署的需要,這些調(diào)試代碼會被刪除,不會進入生產(chǎn)發(fā)布環(huán)境中。【相關(guān)教程推薦:《angular教程》】

Angular+Service怎樣改進日志功能

讓 Angular 幫我們實現(xiàn)這個功能

Angular 為我們提供了將 Services 注冊到應用中的功能,使得我們可以在組件中重用一些功能。

因此,我們可以利用Service來管理我們的控制臺輸出,從而改進日志功能。

1 : 使用Service來管理console

import { Injectable } from '@angular/core';
@Injectable({
  providedIn: 'root'
})
export class LogService {

  constructor() {

  }
  trace(...data: any[]): void {
    console.trace(data);
  }
  log(...data: any[]): void {
    console.log(data);
  }
}

AppComponent組件中使用它::

logService.log('console executed from AppComponent');

Angular+Service怎樣改進日志功能

上面的代碼很容易理解,但是有一個問題,我們無法得知日志是在應用的哪一個組件中打印的,除非我們在日志消息中表明,例如圖中的日志信息表明它來自于AppComponent組件,我們希望日志的右側(cè)能自動表明它來自哪個組件,而不是定義整個日志系統(tǒng)的文件位log.service.ts:xx,并且不需要我們在日志消息中手動表明。

1.1: 使用logService.trace()

它可以用于跟蹤日志的來源,看起來很不錯,但實際上它會添加一些不必要的日志記錄。

2: logService增強版

import { Injectable } from '@angular/core';
@Injectable({
  providedIn: 'root'
})
export class LogService {

  constructor() {

  }
  trace(source: string, ...data: any[]): void {
    console.trace(data);
  }
  log(source: string, ...data: any[]): void {
    console.log(data);
  }
}

與前面相比,增強版的logService類的方法接收額外的參數(shù)。

logService.log('AppComponent','console executed from AppComponent');

Angular+Service怎樣改進日志功能

看完上述內(nèi)容,你們掌握Angular+Service怎樣改進日志功能的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI