Fix up debugging

This commit is contained in:
Eric Bailey
2025-02-26 20:41:48 -06:00
parent ce3d6685ac
commit b215579c1a
2 changed files with 16 additions and 6 deletions
+8
View File
@@ -29,6 +29,14 @@ describe('general functionality', () => {
expect(logger.level).toEqual(LogLevel.Debug)
})
test('contextFilter overrides level', () => {
const logger = new Logger({
level: LogLevel.Info,
contextFilter: 'test',
})
expect(logger.level).toEqual(LogLevel.Debug)
})
test('supports extra metadata', () => {
const timestamp = Date.now()
const logger = new Logger({})
+8 -6
View File
@@ -37,7 +37,7 @@ export class Logger {
static create(context?: LogContext) {
const logger = new Logger({
level: (process.env.EXPO_PUBLIC_LOG_LEVEL || LogLevel.Info) as LogLevel,
level: process.env.EXPO_PUBLIC_LOG_LEVEL as LogLevel,
context,
contextFilter: process.env.EXPO_PUBLIC_LOG_DEBUG || '',
})
@@ -57,14 +57,15 @@ export class Logger {
contextFilter?: string
} = {}) {
this.context = context
this.level =
level || (process.env.EXPO_PUBLIC_LOG_LEVEL as LogLevel) || LogLevel.Info // default to info
this.contextFilter =
contextFilter || process.env.EXPO_PUBLIC_LOG_DEBUG || ''
this.level = level || LogLevel.Info
this.contextFilter = contextFilter || ''
if (this.contextFilter) {
this.level = LogLevel.Debug
}
this.debugContextRegexes = (this.contextFilter || '')
.split(',')
.map(filter => {
return new RegExp(filter.replace(/[^\w:*]/, '').replace(/\*/g, '.*'))
return new RegExp(filter.replace(/[^\w:*-]/, '').replace(/\*/g, '.*'))
})
}
@@ -105,6 +106,7 @@ export class Logger {
metadata: Metadata
}) {
if (
level === LogLevel.Debug &&
!!this.contextFilter &&
!!this.context &&
!this.debugContextRegexes.find(reg => reg.test(this.context!))