@roq/logger
Advanced tools
Comparing version
@@ -1,7 +0,7 @@ | ||
import { ArgumentsHost, Logger } from '@nestjs/common'; | ||
import { GqlExceptionFilter } from '@nestjs/graphql'; | ||
export declare class LoggerExceptionFilter implements GqlExceptionFilter { | ||
import { ArgumentsHost, HttpServer, Logger } from '@nestjs/common'; | ||
import { BaseExceptionFilter } from '@nestjs/core'; | ||
export declare class LoggerExceptionFilter extends BaseExceptionFilter { | ||
private logger; | ||
constructor(logger: Logger); | ||
constructor(logger: Logger, applicationRef?: HttpServer); | ||
catch(exception: unknown, host: ArgumentsHost): void; | ||
} |
@@ -15,4 +15,6 @@ "use strict"; | ||
const graphql_1 = require("@nestjs/graphql"); | ||
let LoggerExceptionFilter = class LoggerExceptionFilter { | ||
constructor(logger) { | ||
const core_1 = require("@nestjs/core"); | ||
let LoggerExceptionFilter = class LoggerExceptionFilter extends core_1.BaseExceptionFilter { | ||
constructor(logger, applicationRef) { | ||
super(applicationRef); | ||
this.logger = logger; | ||
@@ -24,4 +26,4 @@ } | ||
const gqlContext = gqlHost.getContext(); | ||
const req = gqlContext.req; | ||
if (req) { | ||
const gqlReq = gqlContext.req; | ||
if (gqlReq) { | ||
this.logger.error({ | ||
@@ -31,11 +33,24 @@ message: `Error: ${exception.message}`, | ||
stack: exception.stack, | ||
requestId: req.headers['request-id'], | ||
requestId: gqlReq.headers['request-id'], | ||
}, exception.stack); | ||
} | ||
else { | ||
this.logger.error({ | ||
message: `Error: ${exception.message}`, | ||
type: 'error', | ||
stack: exception.stack, | ||
}, exception.stack); | ||
const httpContext = host.switchToHttp(); | ||
const httpReq = httpContext.getRequest(); | ||
if (httpReq) { | ||
this.logger.error({ | ||
message: `Error: ${exception.message}`, | ||
type: 'error', | ||
stack: exception.stack, | ||
requestId: httpReq.headers['request-id'], | ||
}, exception.stack); | ||
} | ||
else { | ||
this.logger.error({ | ||
message: `Error: ${exception.message}`, | ||
type: 'error', | ||
stack: exception.stack, | ||
}, exception.stack); | ||
} | ||
super.catch(exception, host); | ||
} | ||
@@ -47,5 +62,5 @@ } | ||
common_1.Catch(), | ||
__metadata("design:paramtypes", [common_1.Logger]) | ||
__metadata("design:paramtypes", [common_1.Logger, Object]) | ||
], LoggerExceptionFilter); | ||
exports.LoggerExceptionFilter = LoggerExceptionFilter; | ||
//# sourceMappingURL=logger-exception.filter.js.map |
@@ -55,2 +55,3 @@ "use strict"; | ||
query: req.query, | ||
url: req.originalUrl, | ||
}, | ||
@@ -57,0 +58,0 @@ }); |
{ | ||
"name": "@roq/logger", | ||
"version": "1.0.4", | ||
"version": "1.0.5", | ||
"main": "dist/index", | ||
@@ -5,0 +5,0 @@ "types": "dist/index", |
@@ -1,7 +0,10 @@ | ||
import { ArgumentsHost, Catch, Logger } from '@nestjs/common'; | ||
import { GqlArgumentsHost, GqlExceptionFilter } from '@nestjs/graphql'; | ||
import { ArgumentsHost, Catch, HttpServer, Logger } from '@nestjs/common'; | ||
import { GqlArgumentsHost } from '@nestjs/graphql'; | ||
import { BaseExceptionFilter } from '@nestjs/core'; | ||
@Catch() | ||
export class LoggerExceptionFilter implements GqlExceptionFilter { | ||
constructor(private logger: Logger) {} | ||
export class LoggerExceptionFilter extends BaseExceptionFilter { | ||
constructor(private logger: Logger, applicationRef?: HttpServer) { | ||
super(applicationRef); | ||
} | ||
catch(exception: unknown, host: ArgumentsHost): void { | ||
@@ -11,4 +14,4 @@ if (exception instanceof Error) { | ||
const gqlContext = gqlHost.getContext(); | ||
const req = gqlContext.req; | ||
if (req) { | ||
const gqlReq = gqlContext.req; | ||
if (gqlReq) { | ||
this.logger.error( | ||
@@ -19,3 +22,3 @@ { | ||
stack: exception.stack, | ||
requestId: req.headers['request-id'], | ||
requestId: gqlReq.headers['request-id'], | ||
}, | ||
@@ -25,10 +28,26 @@ exception.stack, | ||
} else { | ||
this.logger.error( | ||
{ | ||
message: `Error: ${exception.message}`, | ||
type: 'error', | ||
stack: exception.stack, | ||
}, | ||
exception.stack, | ||
); | ||
const httpContext = host.switchToHttp(); | ||
const httpReq = httpContext.getRequest(); | ||
if (httpReq) { | ||
this.logger.error( | ||
{ | ||
message: `Error: ${exception.message}`, | ||
type: 'error', | ||
stack: exception.stack, | ||
requestId: httpReq.headers['request-id'], | ||
}, | ||
exception.stack, | ||
); | ||
} else { | ||
this.logger.error( | ||
{ | ||
message: `Error: ${exception.message}`, | ||
type: 'error', | ||
stack: exception.stack, | ||
}, | ||
exception.stack, | ||
); | ||
} | ||
super.catch(exception, host); | ||
} | ||
@@ -35,0 +54,0 @@ } |
@@ -45,2 +45,3 @@ import { gql } from '@apollo/client/core'; | ||
query: req.query, | ||
url: req.originalUrl, | ||
}, | ||
@@ -47,0 +48,0 @@ }); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
223088
0.86%729
5.04%