Remove enablement
This commit is contained in:
@@ -26,49 +26,16 @@ beforeAll(() => {
|
|||||||
describe('general functionality', () => {
|
describe('general functionality', () => {
|
||||||
test('default params', () => {
|
test('default params', () => {
|
||||||
const logger = new Logger()
|
const logger = new Logger()
|
||||||
expect(logger.enabled).toBeFalsy()
|
|
||||||
expect(logger.level).toEqual(LogLevel.Debug) // mocked above
|
expect(logger.level).toEqual(LogLevel.Debug) // mocked above
|
||||||
})
|
})
|
||||||
|
|
||||||
test('can override default params', () => {
|
test('can override default params', () => {
|
||||||
const logger = new Logger({
|
const logger = new Logger({
|
||||||
enabled: true,
|
|
||||||
level: LogLevel.Info,
|
level: LogLevel.Info,
|
||||||
})
|
})
|
||||||
expect(logger.enabled).toBeTruthy()
|
|
||||||
expect(logger.level).toEqual(LogLevel.Info)
|
expect(logger.level).toEqual(LogLevel.Info)
|
||||||
})
|
})
|
||||||
|
|
||||||
test('disabled logger does not report', () => {
|
|
||||||
const logger = new Logger({
|
|
||||||
enabled: false,
|
|
||||||
level: LogLevel.Debug,
|
|
||||||
})
|
|
||||||
|
|
||||||
const mockTransport = jest.fn()
|
|
||||||
|
|
||||||
logger.addTransport(mockTransport)
|
|
||||||
logger.debug('message')
|
|
||||||
|
|
||||||
expect(mockTransport).not.toHaveBeenCalled()
|
|
||||||
})
|
|
||||||
|
|
||||||
test('disablement', () => {
|
|
||||||
const logger = new Logger({
|
|
||||||
enabled: true,
|
|
||||||
level: LogLevel.Debug,
|
|
||||||
})
|
|
||||||
|
|
||||||
logger.disable()
|
|
||||||
|
|
||||||
const mockTransport = jest.fn()
|
|
||||||
|
|
||||||
logger.addTransport(mockTransport)
|
|
||||||
logger.debug('message')
|
|
||||||
|
|
||||||
expect(mockTransport).not.toHaveBeenCalled()
|
|
||||||
})
|
|
||||||
|
|
||||||
test('passing debug contexts automatically enables debug mode', () => {
|
test('passing debug contexts automatically enables debug mode', () => {
|
||||||
const logger = new Logger({debug: 'specific'})
|
const logger = new Logger({debug: 'specific'})
|
||||||
expect(logger.level).toEqual(LogLevel.Debug)
|
expect(logger.level).toEqual(LogLevel.Debug)
|
||||||
@@ -76,7 +43,7 @@ describe('general functionality', () => {
|
|||||||
|
|
||||||
test('supports extra metadata', () => {
|
test('supports extra metadata', () => {
|
||||||
const timestamp = Date.now()
|
const timestamp = Date.now()
|
||||||
const logger = new Logger({enabled: true})
|
const logger = new Logger({})
|
||||||
|
|
||||||
const mockTransport = jest.fn()
|
const mockTransport = jest.fn()
|
||||||
|
|
||||||
@@ -95,7 +62,7 @@ describe('general functionality', () => {
|
|||||||
|
|
||||||
test('supports nullish/falsy metadata', () => {
|
test('supports nullish/falsy metadata', () => {
|
||||||
const timestamp = Date.now()
|
const timestamp = Date.now()
|
||||||
const logger = new Logger({enabled: true})
|
const logger = new Logger({})
|
||||||
|
|
||||||
const mockTransport = jest.fn()
|
const mockTransport = jest.fn()
|
||||||
|
|
||||||
@@ -241,7 +208,7 @@ describe('general functionality', () => {
|
|||||||
|
|
||||||
test('add/remove transport', () => {
|
test('add/remove transport', () => {
|
||||||
const timestamp = Date.now()
|
const timestamp = Date.now()
|
||||||
const logger = new Logger({enabled: true})
|
const logger = new Logger({})
|
||||||
const mockTransport = jest.fn()
|
const mockTransport = jest.fn()
|
||||||
|
|
||||||
const remove = logger.addTransport(mockTransport)
|
const remove = logger.addTransport(mockTransport)
|
||||||
@@ -270,7 +237,6 @@ describe('debug contexts', () => {
|
|||||||
const timestamp = Date.now()
|
const timestamp = Date.now()
|
||||||
const message = nanoid()
|
const message = nanoid()
|
||||||
const logger = new Logger({
|
const logger = new Logger({
|
||||||
enabled: true,
|
|
||||||
debug: 'specific',
|
debug: 'specific',
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -289,7 +255,6 @@ describe('debug contexts', () => {
|
|||||||
const timestamp = Date.now()
|
const timestamp = Date.now()
|
||||||
const message = nanoid()
|
const message = nanoid()
|
||||||
const logger = new Logger({
|
const logger = new Logger({
|
||||||
enabled: true,
|
|
||||||
debug: 'namespace*',
|
debug: 'namespace*',
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -308,7 +273,6 @@ describe('debug contexts', () => {
|
|||||||
const timestamp = Date.now()
|
const timestamp = Date.now()
|
||||||
const message = nanoid()
|
const message = nanoid()
|
||||||
const logger = new Logger({
|
const logger = new Logger({
|
||||||
enabled: true,
|
|
||||||
debug: 'namespace:foo:*',
|
debug: 'namespace:foo:*',
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -328,7 +292,6 @@ describe('supports levels', () => {
|
|||||||
test('debug', () => {
|
test('debug', () => {
|
||||||
const timestamp = Date.now()
|
const timestamp = Date.now()
|
||||||
const logger = new Logger({
|
const logger = new Logger({
|
||||||
enabled: true,
|
|
||||||
level: LogLevel.Debug,
|
level: LogLevel.Debug,
|
||||||
})
|
})
|
||||||
const message = nanoid()
|
const message = nanoid()
|
||||||
@@ -368,7 +331,6 @@ describe('supports levels', () => {
|
|||||||
test('info', () => {
|
test('info', () => {
|
||||||
const timestamp = Date.now()
|
const timestamp = Date.now()
|
||||||
const logger = new Logger({
|
const logger = new Logger({
|
||||||
enabled: true,
|
|
||||||
level: LogLevel.Info,
|
level: LogLevel.Info,
|
||||||
})
|
})
|
||||||
const message = nanoid()
|
const message = nanoid()
|
||||||
@@ -391,7 +353,6 @@ describe('supports levels', () => {
|
|||||||
test('warn', () => {
|
test('warn', () => {
|
||||||
const timestamp = Date.now()
|
const timestamp = Date.now()
|
||||||
const logger = new Logger({
|
const logger = new Logger({
|
||||||
enabled: true,
|
|
||||||
level: LogLevel.Warn,
|
level: LogLevel.Warn,
|
||||||
})
|
})
|
||||||
const message = nanoid()
|
const message = nanoid()
|
||||||
@@ -417,7 +378,6 @@ describe('supports levels', () => {
|
|||||||
test('error', () => {
|
test('error', () => {
|
||||||
const timestamp = Date.now()
|
const timestamp = Date.now()
|
||||||
const logger = new Logger({
|
const logger = new Logger({
|
||||||
enabled: true,
|
|
||||||
level: LogLevel.Error,
|
level: LogLevel.Error,
|
||||||
})
|
})
|
||||||
const message = nanoid()
|
const message = nanoid()
|
||||||
|
|||||||
@@ -166,22 +166,18 @@ export class Logger {
|
|||||||
LogLevel = LogLevel
|
LogLevel = LogLevel
|
||||||
DebugContext = DebugContext
|
DebugContext = DebugContext
|
||||||
|
|
||||||
enabled: boolean
|
|
||||||
level: LogLevel
|
level: LogLevel
|
||||||
transports: Transport[] = []
|
transports: Transport[] = []
|
||||||
|
|
||||||
protected debugContextRegexes: RegExp[] = []
|
protected debugContextRegexes: RegExp[] = []
|
||||||
|
|
||||||
constructor({
|
constructor({
|
||||||
enabled = process.env.NODE_ENV !== 'test',
|
|
||||||
level = env.LOG_LEVEL as LogLevel,
|
level = env.LOG_LEVEL as LogLevel,
|
||||||
debug = env.LOG_DEBUG || '',
|
debug = env.LOG_DEBUG || '',
|
||||||
}: {
|
}: {
|
||||||
enabled?: boolean
|
|
||||||
level?: LogLevel
|
level?: LogLevel
|
||||||
debug?: string
|
debug?: string
|
||||||
} = {}) {
|
} = {}) {
|
||||||
this.enabled = enabled !== false
|
|
||||||
this.level = debug ? LogLevel.Debug : level ?? LogLevel.Info // default to info
|
this.level = debug ? LogLevel.Debug : level ?? LogLevel.Info // default to info
|
||||||
this.debugContextRegexes = (debug || '').split(',').map(context => {
|
this.debugContextRegexes = (debug || '').split(',').map(context => {
|
||||||
return new RegExp(context.replace(/[^\w:*]/, '').replace(/\*/g, '.*'))
|
return new RegExp(context.replace(/[^\w:*]/, '').replace(/\*/g, '.*'))
|
||||||
@@ -217,21 +213,11 @@ export class Logger {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
disable() {
|
|
||||||
this.enabled = false
|
|
||||||
}
|
|
||||||
|
|
||||||
enable() {
|
|
||||||
this.enabled = true
|
|
||||||
}
|
|
||||||
|
|
||||||
protected transport(
|
protected transport(
|
||||||
level: LogLevel,
|
level: LogLevel,
|
||||||
message: string | Error,
|
message: string | Error,
|
||||||
metadata: Metadata = {},
|
metadata: Metadata = {},
|
||||||
) {
|
) {
|
||||||
if (!this.enabled) return
|
|
||||||
|
|
||||||
const timestamp = Date.now()
|
const timestamp = Date.now()
|
||||||
const meta = metadata || {}
|
const meta = metadata || {}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user