Logger improvements (#7729)
* Remove enablement * Refactor context and filtering * Fix imports, simplify transports config * Migrate usages of debug context * Re-org, add colors and grouping to console logging * Remove temp default context * Remove manual prefix * Move colorizing out of console transport body * Reduce reuse * Pass through context * Ensure bitdrift is enabled in dev * Enable Sentry on web only * Clean up types * Docs * Format * Update tests * Clean up tests * No positional args * Revert Sentry changes * Clean up context, use it, pass metadata through to Bitdrift * Fix up debugging * Clean up metadata before passing to Bitdrift * Correct transports * Reserve context prop on metadata and include in transports * Update tests
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import {
|
||||
debug as bdDebug,
|
||||
error as bdError,
|
||||
info as bdInfo,
|
||||
warn as bdWarn,
|
||||
} from '#/lib/bitdrift'
|
||||
import {LogLevel, Transport} from '#/logger/types'
|
||||
import {prepareMetadata} from '#/logger/util'
|
||||
|
||||
const logFunctions = {
|
||||
[LogLevel.Debug]: bdDebug,
|
||||
[LogLevel.Info]: bdInfo,
|
||||
[LogLevel.Log]: bdInfo,
|
||||
[LogLevel.Warn]: bdWarn,
|
||||
[LogLevel.Error]: bdError,
|
||||
} as const
|
||||
|
||||
export const bitdriftTransport: Transport = (
|
||||
level,
|
||||
context,
|
||||
message,
|
||||
metadata,
|
||||
) => {
|
||||
const log = logFunctions[level]
|
||||
log(message.toString(), {
|
||||
// match Sentry payload
|
||||
context,
|
||||
...prepareMetadata(metadata),
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user