官术网_书友最值得收藏!

Implementing LogService

Logging is an important ally that you want during the development lifecycle of your app as well as in production. It can help you debug as well as gain important insights into how your app is used. Having a single pathway to run all logging through also provides an opportunity to reroute all the app logs somewhere else with the flip of a switch. For example, you could use a third-party debug tracking service, such as TrackJS (https://trackjs.com), via Segment (https://segment.com). You will want to run a lot of important aspects of your app through logging and it serves as a great place to have a lot of control and flexibility. 

Let's open app/modules/core/services/log.service.ts and get to work. Let's start by defining a static boolean that will serve as a simple flag we can toggle in our AppModule to enable/disable. Let's also add a few helpful methods:

import { Injectable } from '@angular/core';

@Injectable()
export class LogService {

public static ENABLE: boolean = true;

public debug(msg: any, ...formatParams: any[]) {
if (LogService.ENABLE) {
console.log(msg, formatParams);
}
}

public error(msg: any, ...formatParams: any[]) {
if (LogService.ENABLE) {
console.error(msg, formatParams);
}
}

public inspect(obj: any) {
if (LogService.ENABLE) {
console.log(obj);
console.log('typeof: ', typeof obj);
if (obj) {
console.log('constructor: ', obj.constructor.name);
for (let key in obj) {
console.log(`${key}: `, obj[key]);
}
}
}
}
}
  • debug: This will serve as our most commonly used output API for logging.
  • error: When we know a certain condition is an error, this will help identify those spots in our log.
  • inspect: There are times when viewing an object can help find a bug or help us understand the state of our app at any given moment.

With our LogService implemented, we will now use it throughout our app and the rest of this book instead of using the console directly.

主站蜘蛛池模板: 永城市| 扶风县| 马公市| 汉寿县| 聊城市| 将乐县| 安平县| 五家渠市| 宣武区| 新源县| 昭通市| 新野县| 隆德县| 宁乡县| 三明市| 贡觉县| 突泉县| 乐山市| 林甸县| 云浮市| 钦州市| 乌鲁木齐县| 织金县| 大荔县| 成安县| 金华市| 河北省| 芜湖市| 夏津县| 肥东县| 西华县| 鄂州市| 汉寿县| 民权县| 凤山县| 前郭尔| 搜索| 台中市| 涞源县| 赣州市| 年辖:市辖区|