feat(server): correlation id via injected logger (#8823)

* feat(server): correlation id via injected logger

* feat: cid response header
This commit is contained in:
Jason Rasmussen
2024-04-15 19:39:06 -04:00
committed by GitHub
parent 95e67a7b1d
commit 2db76034b1
16 changed files with 152 additions and 26 deletions

View File

@@ -0,0 +1,27 @@
import { Injectable } from '@nestjs/common';
import { ClsService } from 'nestjs-cls';
import { LogLevel } from 'src/entities/system-config.entity';
import { ILoggerRepository } from 'src/interfaces/logger.interface';
import { ImmichLogger } from 'src/utils/logger';
@Injectable()
export class LoggerRepository extends ImmichLogger implements ILoggerRepository {
constructor(private cls: ClsService) {
super(LoggerRepository.name);
}
protected formatContext(context: string): string {
let formattedContext = super.formatContext(context);
const correlationId = this.cls?.getId();
if (correlationId && this.isLevelEnabled(LogLevel.VERBOSE)) {
formattedContext += `[${correlationId}] `;
}
return formattedContext;
}
setLogLevel(level: LogLevel): void {
ImmichLogger.setLogLevel(level);
}
}