src/app/services/logger.service.ts

Metadata

Index

Properties
Methods

Constructor

constructor(injector: Injector)
Parameters :
Name Type Optional
injector Injector No

Methods

Public error
error(message: any, optionalParameters?: any)
Parameters :
Name Type Optional
message any No
optionalParameters any Yes
Returns : void
Private injectSasService
injectSasService()
Returns : void
Public log
log(message: any, optionalParameters?: any)
Parameters :
Name Type Optional
message any No
optionalParameters any Yes
Returns : void
Public logRequestData
logRequestData(program: string, data: { })
Parameters :
Name Type Optional
program string No
data { } No
Returns : void

Properties

Private sasjsConfig
Type : SASjsConfig | undefined
import { Injectable, Injector } from '@angular/core'
import { SASjsConfig } from '@sasjs/adapter'
import { SasService } from './sas.service'

@Injectable({
  providedIn: 'root'
})
export class LoggerService {
  private sasjsConfig: SASjsConfig | undefined

  constructor(private injector: Injector) {}

  public log(message: any, optionalParameters?: any) {
    this.injectSasService()

    if (this.sasjsConfig?.debug)
      optionalParameters
        ? console.log(message, optionalParameters)
        : console.log(message)
  }

  public error(message: any, optionalParameters?: any) {
    console.error(message, optionalParameters)
  }

  public logRequestData(program: string, data: { [key: string]: any }) {
    this.log('--- Adapter Request Input ---')
    this.log(program)

    if (!data) {
      this.log('no data sent')
      return
    }

    for (let key of Object.keys(data)) {
      this.log(key, data[key])
    }

    this.log('------')
  }

  private injectSasService() {
    if (!this.sasjsConfig) {
      const sasService = this.injector.get(SasService)
      this.sasjsConfig = sasService.getSasjsConfig()
    }
  }
}

results matching ""

    No results matching ""