evalstate's picture
download
raw
2.85 kB
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.