Skip to content

Commit

Permalink
fix: standardise error log between vtx
Browse files Browse the repository at this point in the history
  • Loading branch information
matthew2564 committed Nov 8, 2024
1 parent c44516d commit 91104bb
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ describe('Interceptor: ResponseLoggerInterceptor', () => {
const mockResponse = new HttpResponse({ status: 200, statusText: 'OK', url: 'https://example.com' });
mockNext.handle.mockReturnValue(of(mockResponse));

jest.spyOn(interceptor as any, 'getRequestDuration').mockReturnValue(mockThreshold + 1);
jest.spyOn(interceptor, 'getRequestDuration').mockReturnValue(mockThreshold + 1);

interceptor.intercept(mockReq, mockNext).subscribe(() => {
expect(logsProvider.dispatchLog).toHaveBeenCalledWith({
Expand All @@ -91,16 +91,23 @@ describe('Interceptor: ResponseLoggerInterceptor', () => {
});

it('should log errors', (done) => {
const mockError = new HttpErrorResponse({ status: 404, statusText: 'Not Found', url: 'https://example.com' });
const mockError = new HttpErrorResponse({
status: 404,
statusText: 'Not Found',
url: 'https://example.com',
error: 'This is a big error',
});

mockNext.handle.mockReturnValue(throwError(() => mockError));

interceptor.intercept(mockReq, mockNext).subscribe({
error: () => {
expect(logsProvider.dispatchLog).toHaveBeenCalledWith({
type: LogType.ERROR,
message: 'test-oid - Http failure response for https://example.com: 404 Not Found',
message: 'test-oid - Method: GET. Http failure response for https://example.com: 404 Not Found.',
status: 404,
errors: undefined,
errors: 'This is a big error',
stackTrace: undefined,
timestamp: expect.any(Number),
});
done();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,11 @@ export class ResponseLoggerInterceptor implements HttpInterceptor {

this.logsProvider.dispatchLog({
type: LogType.ERROR,
message: `${this.oid()} - ${message}`,
message: `${this.oid()} - Method: ${request.method}. ${message}.`,
status,
errors: get(err, 'error.errors', undefined),
timestamp: Date.now(),
errors: err instanceof HttpErrorResponse ? err.error : get(err, 'error.errors', undefined),
stackTrace: err instanceof Error ? err.stack : undefined,
});

return throwError(() => err);
Expand Down

0 comments on commit 91104bb

Please sign in to comment.