Skip to content

Commit f6b8cc2

Browse files
committed
Feat: added logging middlware
1 parent 29e4c0a commit f6b8cc2

File tree

4 files changed

+36
-8
lines changed

4 files changed

+36
-8
lines changed

src/middlware/LoggerMiddlwar.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { Injectable, Logger, NestMiddleware } from '@nestjs/common';
2+
import { Request, Response, NextFunction } from 'express';
3+
4+
@Injectable()
5+
export class LoggerMiddleware implements NestMiddleware {
6+
use(req: Request, res: Response, next: NextFunction) {
7+
const { method, query: queryParams, baseUrl: path } = req;
8+
try {
9+
Logger.log(`Request: ${method} ${path} ${JSON.stringify(queryParams)}`);
10+
} catch (error) {
11+
Logger.warn(`Error logging request: ${error}`);
12+
}
13+
next();
14+
}
15+
}

src/verifier-modules/btc-verifier-server.module.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Module } from '@nestjs/common';
1+
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
22
import { ConfigModule, ConfigService } from '@nestjs/config';
33
import { TypeOrmModule } from '@nestjs/typeorm';
44
import { ApiKeyStrategy } from '../auth/apikey.strategy';
@@ -18,6 +18,7 @@ import { BTCConfirmedBlockHeightExistsVerifierService } from '../services/confir
1818
import { BtcExternalIndexerEngineService } from '../services/indexer-services/utxo-indexer.service';
1919
import { BTCPaymentVerifierService } from '../services/payment-verifier.service';
2020
import { BTCReferencedPaymentNonexistenceVerifierService } from '../services/referenced-payment-nonexistence-verifier.service';
21+
import { LoggerMiddleware } from 'src/middlware/LoggerMiddlwar';
2122

2223

2324
@Module({
@@ -54,4 +55,8 @@ import { BTCReferencedPaymentNonexistenceVerifierService } from '../services/ref
5455
BTCReferencedPaymentNonexistenceVerifierService,
5556
],
5657
})
57-
export class BtcVerifierServerModule { }
58+
export class BtcVerifierServerModule implements NestModule {
59+
configure(consumer: MiddlewareConsumer) {
60+
consumer.apply(LoggerMiddleware).forRoutes('*');
61+
}
62+
}

src/verifier-modules/doge-verifier-server.module.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Module } from '@nestjs/common';
1+
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
22
import { ConfigModule, ConfigService } from '@nestjs/config';
33
import { TypeOrmModule } from '@nestjs/typeorm';
44
import { ApiKeyStrategy } from '../auth/apikey.strategy';
@@ -18,7 +18,7 @@ import { DOGEConfirmedBlockHeightExistsVerifierService } from '../services/confi
1818
import { DogeExternalIndexerEngineService } from '../services/indexer-services/utxo-indexer.service';
1919
import { DOGEPaymentVerifierService } from '../services/payment-verifier.service';
2020
import { DOGEReferencedPaymentNonexistenceVerifierService } from '../services/referenced-payment-nonexistence-verifier.service';
21-
21+
import { LoggerMiddleware } from 'src/middlware/LoggerMiddlwar';
2222

2323
@Module({
2424
imports: [
@@ -54,4 +54,8 @@ import { DOGEReferencedPaymentNonexistenceVerifierService } from '../services/re
5454
DOGEReferencedPaymentNonexistenceVerifierService,
5555
],
5656
})
57-
export class DogeVerifierServerModule { }
57+
export class DogeVerifierServerModule implements NestModule {
58+
configure(consumer: MiddlewareConsumer) {
59+
consumer.apply(LoggerMiddleware).forRoutes('*');
60+
}
61+
}

src/verifier-modules/xrp-verifier-server.module.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Module } from '@nestjs/common';
1+
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
22
import { ConfigModule, ConfigService } from '@nestjs/config';
33
import { TypeOrmModule } from '@nestjs/typeorm';
44
import { ApiKeyStrategy } from '../auth/apikey.strategy';
@@ -18,7 +18,7 @@ import { XRPConfirmedBlockHeightExistsVerifierService } from '../services/confir
1818
import { XrpExternalIndexerEngineService } from '../services/indexer-services/xrp-indexer.service';
1919
import { XRPPaymentVerifierService } from '../services/payment-verifier.service';
2020
import { XRPReferencedPaymentNonexistenceVerifierService } from '../services/referenced-payment-nonexistence-verifier.service';
21-
21+
import { LoggerMiddleware } from 'src/middlware/LoggerMiddlwar';
2222

2323
@Module({
2424
imports: [
@@ -54,4 +54,8 @@ import { XRPReferencedPaymentNonexistenceVerifierService } from '../services/ref
5454
XRPReferencedPaymentNonexistenceVerifierService,
5555
],
5656
})
57-
export class XRPVerifierServerModule { }
57+
export class XRPVerifierServerModule implements NestModule {
58+
configure(consumer: MiddlewareConsumer) {
59+
consumer.apply(LoggerMiddleware).forRoutes('*');
60+
}
61+
}

0 commit comments

Comments
 (0)