kra-etims-sdk
Version:
Kenya Revenue Authority (KRA) Electronic Tax Invoice Management System (eTims) API Integration SDK
46 lines (42 loc) • 1.08 kB
JavaScript
/**
* Logger utility for KRA eTims SDK
* Provides consistent logging across the application
*/
const winston = require('winston');
const logger = winston.createLogger({
level: process.env.NODE_ENV === 'production' ? 'info' : 'debug',
format: winston.format.combine(
winston.format.timestamp({
format: 'YYYY-MM-DD HH:mm:ss'
}),
winston.format.errors({ stack: true }),
winston.format.splat(),
winston.format.json()
),
defaultMeta: { service: 'kra-etims-sdk' },
transports: [
new winston.transports.Console({
format: winston.format.combine(
winston.format.colorize(),
winston.format.printf(
info => `${info.timestamp} ${info.level}: ${info.message}`
)
)
})
]
});
//file transport in production
if (process.env.NODE_ENV === 'production') {
logger.add(
new winston.transports.File({
filename: 'logs/error.log',
level: 'error'
})
);
logger.add(
new winston.transports.File({
filename: 'logs/combined.log'
})
);
}
module.exports = logger;