Buckets:
| import pino, {} from 'pino'; | |
| import { fileURLToPath } from 'url'; | |
| import { dirname, join } from 'path'; | |
| const isDev = process.env.NODE_ENV === 'development'; | |
| const activeTransport = process.env.TRANSPORT || ''; | |
| const destination = activeTransport.toUpperCase() === 'STDIO' ? 2 : 1; | |
| const logLevel = (process.env.LOG_LEVEL?.toLowerCase() || 'info'); | |
| const hfLoggingEnabled = !!process.env.LOGGING_DATASET_ID; | |
| const __filename = fileURLToPath(import.meta.url); | |
| const __dirname = dirname(__filename); | |
| function createLogger() { | |
| const baseOptions = { | |
| level: logLevel, | |
| timestamp: pino.stdTimeFunctions.isoTime, | |
| }; | |
| if (hfLoggingEnabled) { | |
| const datasetId = process.env.LOGGING_DATASET_ID; | |
| const hfToken = process.env.LOGGING_HF_TOKEN || process.env.DEFAULT_HF_TOKEN; | |
| if (!hfToken) { | |
| console.warn('[Logger] HF Dataset logging disabled: No HF token found (set LOGGING_HF_TOKEN or DEFAULT_HF_TOKEN)'); | |
| } | |
| else { | |
| console.log(`[Logger] HF Dataset logging enabled for dataset: ${datasetId}`); | |
| try { | |
| const transportPath = join(__dirname, 'hf-dataset-transport.js'); | |
| const targets = [ | |
| { | |
| target: 'pino-pretty', | |
| level: logLevel, | |
| options: { | |
| colorize: isDev, | |
| destination | |
| }, | |
| }, | |
| { | |
| target: transportPath, | |
| level: logLevel, | |
| options: { sync: false }, | |
| }, | |
| ]; | |
| return pino({ ...baseOptions, transport: { targets } }); | |
| } | |
| catch (error) { | |
| console.error('[Logger] Failed to setup HF transport, falling back to console only:', error); | |
| } | |
| } | |
| } | |
| return pino({ | |
| ...baseOptions, | |
| ...(isDev ? { | |
| transport: { | |
| target: 'pino-pretty', | |
| options: { colorize: true, destination }, | |
| }, | |
| } : {}), | |
| }, !isDev ? pino.destination(destination) : undefined); | |
| } | |
| const logger = createLogger(); | |
| export function forceLoggerToStderr() { | |
| const stderrOptions = { | |
| level: logLevel, | |
| timestamp: pino.stdTimeFunctions.isoTime, | |
| }; | |
| if (isDev) { | |
| Object.assign(logger, pino({ | |
| ...stderrOptions, | |
| transport: { | |
| target: 'pino-pretty', | |
| options: { | |
| colorize: true, | |
| destination: 2, | |
| }, | |
| }, | |
| })); | |
| } | |
| else { | |
| Object.assign(logger, pino(stderrOptions, pino.destination(2))); | |
| } | |
| } | |
| export { logger }; | |
| //# sourceMappingURL=logger.js.map |
Xet Storage Details
- Size:
- 2.85 kB
- Xet hash:
- 589b114ee8c36ec9c0ca72be3f06ec04aed150d73157aa86a098c01ba861d845
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.