import { ClientLogCreate } from '@shared/models/server'
import { peertubeLocalStorage } from './peertube-web-storage'
-import { UserTokens } from './users'
+import { OAuthUserTokens } from './users'
export type LoggerHook = (message: LoggerMessage, meta?: LoggerMeta) => void
export type LoggerLevel = 'info' | 'warn' | 'error'
warn (message: LoggerMessage, meta?: LoggerMeta) {
this.runHooks('warn', message, meta)
+ this.clientWarn(message, meta)
+ }
+
+ clientWarn (message: LoggerMessage, meta?: LoggerMeta) {
if (meta) console.warn(message, meta)
else console.warn(message)
}
error (message: LoggerMessage, meta?: LoggerMeta) {
this.runHooks('error', message, meta)
+ this.clientError(message, meta)
+ }
+
+ clientError (message: LoggerMessage, meta?: LoggerMeta) {
if (meta) console.error(message, meta)
else console.error(message)
}
})
try {
- const tokens = UserTokens.getUserTokens(peertubeLocalStorage)
+ const tokens = OAuthUserTokens.getUserTokens(peertubeLocalStorage)
if (tokens) headers.set('Authorization', `${tokens.tokenType} ${tokens.accessToken}`)
} catch (err) {
}
private buildStackServerLogPayload (message: LoggerMessage, meta?: LoggerMeta) {
- if (message instanceof Error) return message.stack
- if (meta instanceof Error) return meta.stack
- if (meta?.err instanceof Error) return meta.err.stack
+ if (message instanceof Error) return this.buildStack(message)
+ if (meta instanceof Error) return this.buildStack(meta)
+ if (meta?.err instanceof Error) return this.buildStack(meta.err)
return undefined
}
hookObj.hook(message, meta)
}
}
+
+ private buildStack (err: Error) {
+ return `${err.message}\n${err.stack || ''}`
+ }
}
const logger = window.logger || new Logger()