Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
e => this.logger.log(LogLevel.WARN, `Error receiving crumb ${e}`),
);
export function warn(
this: Observable,
logger: Logger,
identifier: string,
level: ObservableReportLevel = ObservableReportLevel.ERROR,
): Observable {
return log(this, LogLevel.WARN, logger, identifier, level)
}
function safeDisplay(logger: Logger, obj: any): any {
try {
return JSON.stringify(obj)
} catch (e) {
logger.log(LogLevel.WARN, `unable to stringify input, exception ${e}`)
return obj
}
}
e => this.logger.log(LogLevel.WARN, `Error receiving crumb ${e}`),
);
function log(
o: Observable,
logLevel: LogLevel,
logger: Logger,
identifier: string,
reportLevel: ObservableReportLevel,
): Observable {
if (environment.Production && logLevel < LogLevel.WARN) {
return o
}
return o.do(
v => {
if (reportLevel & ObservableReportLevel.SUCCESS) {
logger.log(logLevel, `${identifier} succeeded, result: ${safeDisplay(logger, v)}`)
}
},
e => {
if (reportLevel & ObservableReportLevel.ERROR) {
logger.log(logLevel, `${identifier} failed, exception: ${safeDisplay(logger, e)}`)
}
},
() => {
if (reportLevel & ObservableReportLevel.COMPLETE) {
logger.log(logLevel, `${identifier} completed`)