dependencies Legend  Declarations  Module  Bootstrap  Providers  Exports cluster_AuditLogModule cluster_AuditLogModule_providers cluster_AuditLogModule_exports AuditLogService AuditLogService SessionLogStoreService SessionLogStoreService SessionLoggerService SessionLoggerService AuditLogModule AuditLogModule AuditLogModule->AuditLogService AuditLogModule->SessionLogStoreService AuditLogModule->SessionLoggerService AuditLogService AuditLogService AuditLogService->AuditLogModule SessionLogStoreService SessionLogStoreService SessionLogStoreService->AuditLogModule SessionLoggerService SessionLoggerService SessionLoggerService->AuditLogModule

File

src/shared/utils/logger/audit-log.module.ts

Description

Module for audit logging.

Provides two services:

  • AuditLogService: persists audit events to the database only.
  • SessionLoggerService: persists to the database AND logs via PinoLogger (exported to Loki via OpenTelemetry) for full observability.

import { Module } from "@nestjs/common";
import { TypeOrmModule } from "@nestjs/typeorm";
import { SessionLogEntry } from "../../../session/entities/session-log-entry.entity";
import { AuditLogService } from "./audit-log.service";
import { SessionLogStoreService } from "./session-log-store.service";
import { SessionLoggerService } from "./session-logger.service";

/**
 * Module for audit logging.
 *
 * Provides two services:
 * - `AuditLogService`: persists audit events to the database only.
 * - `SessionLoggerService`: persists to the database AND logs via PinoLogger
 *   (exported to Loki via OpenTelemetry) for full observability.
 */
@Module({
    imports: [TypeOrmModule.forFeature([SessionLogEntry])],
    providers: [SessionLogStoreService, AuditLogService, SessionLoggerService],
    exports: [AuditLogService, SessionLoggerService, SessionLogStoreService],
})
export class AuditLogModule {}

results matching ""

    No results matching ""