UNPKG

@paddle/paddle-node-sdk

Version:

A Node.js SDK that you can use to integrate Paddle Billing with applications written in server-side JavaScript.

37 lines (36 loc) 1.29 kB
import { LogLevel } from '../api/index.js'; export class Logger { static shouldLog(level) { switch (Logger.logLevel) { case LogLevel.verbose: return level !== LogLevel.none; case LogLevel.warn: return level === LogLevel.warn || level === LogLevel.error; case LogLevel.error: return level === LogLevel.error; default: return false; } } static log(...args) { if (Logger.shouldLog(LogLevel.verbose)) { console.log('[Paddle] [LOG]', ...args); } } static warn(...args) { if (Logger.shouldLog(LogLevel.warn)) { console.warn('[Paddle] [WARN]', ...args); } } static error(...args) { if (Logger.shouldLog(LogLevel.error)) { console.error('[Paddle] [ERROR]', ...args); } } static logRequest(method, url, headers) { Logger.log('[Request]', method, url, 'Transaction ID:', headers['X-Transaction-ID']); } static logResponse(method, url, headers, promise) { Logger.log('[Response]', method, url, promise.status.toString(), 'Transaction ID:', headers['X-Transaction-ID'], 'Request ID:', promise.headers.get('Request-Id')); } }