Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/nest-logger/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@shiftcode/nest-logger",
"version": "1.0.0",
"version": "1.0.1-pr79.1",
"description": "NestJS support for the logger package",
"repository": "https://github.com/shiftcode/sc-commons-public",
"license": "MIT",
Expand Down
47 changes: 47 additions & 0 deletions packages/nest-logger/src/model/nest-logger.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import { Logger, LogLevel } from '@shiftcode/logger'
import { beforeEach, describe, expect, test } from 'vitest'

import { MockLogTransport } from '../../test/mock-log.transport.js'
import { NestLogger } from './nest-logger.js'

describe('NestLogger', () => {
let transport: MockLogTransport
let logger: Logger
let nestLogger: NestLogger

beforeEach(() => {
transport = new MockLogTransport({ logLevel: LogLevel.DEBUG, mockAttribute: 'test' })
logger = new Logger('TestLogger', '#ffffff', [transport])
nestLogger = new NestLogger(logger)
})

test('error(message, trace, context) forwards args as flat array, not nested', () => {
nestLogger.error('msg', 'trace', 'ctx')
expect(transport.logArgs?.args).toEqual(['msg', 'trace', 'ctx'])
})

test('warn(message, context) forwards args as flat array', () => {
nestLogger.warn('msg', 'ctx')
expect(transport.logArgs?.args).toEqual(['msg', 'ctx'])
})

test('log(message, context) forwards args as flat array', () => {
nestLogger.log('msg', 'ctx')
expect(transport.logArgs?.args).toEqual(['msg', 'ctx'])
})

test('debug(message, context) forwards args as flat array', () => {
nestLogger.debug('msg', 'ctx')
expect(transport.logArgs?.args).toEqual(['msg', 'ctx'])
})

test('verbose(message, context) forwards args as flat array', () => {
nestLogger.verbose('msg', 'ctx')
expect(transport.logArgs?.args).toEqual(['msg', 'ctx'])
})

test('error with only a message forwards a single-element args array', () => {
nestLogger.error('only message')
expect(transport.logArgs?.args).toEqual(['only message'])
})
})
20 changes: 10 additions & 10 deletions packages/nest-logger/src/model/nest-logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,23 @@ import { Logger } from '@shiftcode/logger'
export class NestLogger implements LoggerService {
constructor(private readonly logger: Logger) {}

error(message: any, trace?: string) {
this.logger.error([message, trace])
error(message: any, ...optionalParams: any[]) {
this.logger.error(message, ...optionalParams)
}
Comment thread
dario-fazio marked this conversation as resolved.
Comment thread
dario-fazio marked this conversation as resolved.
Comment thread
mumenthalers marked this conversation as resolved.

warn(message: any) {
this.logger.warn([message])
warn(message: any, ...optionalParams: any[]) {
this.logger.warn(message, ...optionalParams)
}
Comment thread
dario-fazio marked this conversation as resolved.

debug(message: any) {
this.logger.debug([message])
debug(message: any, ...optionalParams: any[]) {
this.logger.debug(message, ...optionalParams)
}
Comment thread
dario-fazio marked this conversation as resolved.

verbose(message: any) {
this.debug(message)
verbose(message: any, ...optionalParams: any[]) {
this.debug(message, ...optionalParams)
}
Comment thread
dario-fazio marked this conversation as resolved.

log(message: any) {
this.logger.info([message])
log(message: any, ...optionalParams: any[]) {
this.logger.info(message, ...optionalParams)
}
Comment thread
dario-fazio marked this conversation as resolved.
}
10 changes: 9 additions & 1 deletion packages/nest-logger/test/mock-log.transport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,16 @@ export interface MockLogTransportConfig {
mockAttribute: string
}

export interface MockLogArgs {
level: LogLevel
clazzName: string
hexColor: string
timestamp: Date
args: unknown[]
}

export class MockLogTransport extends LogTransport {
logArgs: any
logArgs: MockLogArgs | undefined

constructor(config: MockLogTransportConfig) {
super(config.logLevel)
Expand Down
Loading