mirror of
https://codeberg.org/yeentown/barkey.git
synced 2025-07-07 12:36:57 +00:00
output log messages with correct level
This commit is contained in:
parent
00c0bdbc94
commit
d0ae76214c
2 changed files with 19 additions and 6 deletions
|
@ -8,6 +8,8 @@ import { Injectable } from '@nestjs/common';
|
|||
import { UnrecoverableError } from 'bullmq';
|
||||
import { HttpRequestService } from '@/core/HttpRequestService.js';
|
||||
import { bindThis } from '@/decorators.js';
|
||||
import Logger from '@/logger.js';
|
||||
import { LoggerService } from '@/core/LoggerService.js';
|
||||
import { StatusError } from '@/misc/status-error.js';
|
||||
import { CONTEXT, PRELOADED_CONTEXTS } from './misc/contexts.js';
|
||||
import { validateContentTypeSetAsJsonLD } from './misc/validator.js';
|
||||
|
@ -17,12 +19,12 @@ import type { JsonLd as JsonLdObject, RemoteDocument } from 'jsonld/jsonld-spec.
|
|||
// RsaSignature2017 implementation is based on https://github.com/transmute-industries/RsaSignature2017
|
||||
|
||||
class JsonLd {
|
||||
public debug = false;
|
||||
public preLoad = true;
|
||||
public loderTimeout = 5000;
|
||||
|
||||
constructor(
|
||||
private httpRequestService: HttpRequestService,
|
||||
private readonly logger: Logger,
|
||||
) {
|
||||
}
|
||||
|
||||
|
@ -84,7 +86,7 @@ class JsonLd {
|
|||
const transformedData = { ...data };
|
||||
delete transformedData['signature'];
|
||||
const cannonidedData = await this.normalize(transformedData);
|
||||
if (this.debug) console.debug(`cannonidedData: ${cannonidedData}`);
|
||||
this.logger.debug('cannonidedData', cannonidedData);
|
||||
const documentHash = this.sha256(cannonidedData.toString());
|
||||
const verifyData = `${optionsHash}${documentHash}`;
|
||||
return verifyData;
|
||||
|
@ -115,7 +117,7 @@ class JsonLd {
|
|||
|
||||
if (this.preLoad) {
|
||||
if (url in PRELOADED_CONTEXTS) {
|
||||
if (this.debug) console.debug(`HIT: ${url}`);
|
||||
this.logger.debug(`Preload HIT: ${url}`);
|
||||
return {
|
||||
contextUrl: undefined,
|
||||
document: PRELOADED_CONTEXTS[url],
|
||||
|
@ -124,7 +126,7 @@ class JsonLd {
|
|||
}
|
||||
}
|
||||
|
||||
if (this.debug) console.debug(`MISS: ${url}`);
|
||||
this.logger.debug(`Preload MISS: ${url}`);
|
||||
const document = await this.fetchDocument(url);
|
||||
return {
|
||||
contextUrl: undefined,
|
||||
|
@ -169,13 +171,16 @@ class JsonLd {
|
|||
|
||||
@Injectable()
|
||||
export class JsonLdService {
|
||||
private readonly logger: Logger;
|
||||
constructor(
|
||||
private httpRequestService: HttpRequestService,
|
||||
loggerService: LoggerService,
|
||||
) {
|
||||
this.logger = loggerService.getLogger('json-ld');
|
||||
}
|
||||
|
||||
@bindThis
|
||||
public use(): JsonLd {
|
||||
return new JsonLd(this.httpRequestService);
|
||||
return new JsonLd(this.httpRequestService, this.logger);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,6 +23,14 @@ export type DataElement = DataObject | Error | string | null;
|
|||
// https://stackoverflow.com/questions/61148466/typescript-type-that-matches-any-object-but-not-arrays
|
||||
export type DataObject = Record<string, unknown> | (object & { length?: never; });
|
||||
|
||||
const levelFuncs = {
|
||||
error: 'error',
|
||||
warning: 'warn',
|
||||
success: 'info',
|
||||
info: 'log',
|
||||
debug: 'debug',
|
||||
} as const satisfies Record<Level, keyof typeof console>;
|
||||
|
||||
// eslint-disable-next-line import/no-default-export
|
||||
export default class Logger {
|
||||
private context: Context;
|
||||
|
@ -86,7 +94,7 @@ export default class Logger {
|
|||
} else if (data != null) {
|
||||
args.push(data);
|
||||
}
|
||||
console.log(...args);
|
||||
console[levelFuncs[level]](...args);
|
||||
}
|
||||
|
||||
@bindThis
|
||||
|
|
Loading…
Add table
Reference in a new issue