1- // logger.js — Drop-in Winston logger with safety checks and startup test log
21import fs from 'fs' ;
32import path from 'path' ;
43import { createLogger , format , transports } from 'winston' ;
54
6- // Ensure log directory exists
75const logDir = '/home/zk/logs' ;
86const logFile = path . join ( logDir , 'codepatchwork.log' ) ;
97
@@ -16,39 +14,25 @@ if (!fs.existsSync(logDir)) {
1614 }
1715}
1816
19- // Define transports
20- const transportList = [
21- new transports . Console ( ) ,
22- ] ;
23-
24- try {
25- transportList . push (
26- new transports . File ( { filename : logFile } )
27- ) ;
28- } catch ( err ) {
29- console . error ( "❌ Could not create file transport for Winston:" , err ) ;
30- }
31-
32- // Create the logger
3317const logger = createLogger ( {
3418 level : 'info' ,
3519 format : format . combine (
36- format . colorize ( ) ,
3720 format . timestamp ( { format : 'YYYY-MM-DD HH:mm:ss' } ) ,
3821 format . printf ( ( { timestamp, level, message, ...meta } ) => {
3922 const metaString = Object . keys ( meta ) . length ? ` ${ JSON . stringify ( meta ) } ` : '' ;
4023 return `${ timestamp } [${ level } ]: ${ message } ${ metaString } ` ;
4124 } )
4225 ) ,
43- transports : transportList
26+ transports : [
27+ new transports . Console ( ) ,
28+ new transports . File ( { filename : logFile } )
29+ ]
4430} ) ;
4531
46- // Handle internal Winston errors
4732logger . on ( 'error' , ( err ) => {
48- console . error ( " ❌ Winston internal logging error:" , err ) ;
33+ console . error ( ' ❌ Winston internal logging error:' , err ) ;
4934} ) ;
5035
51- // 🔧 Initial test log
52- logger . info ( "🧪 Winston logger initialized and ready." ) ;
36+ logger . info ( '🧪 Winston logger initialized and ready.' ) ;
5337
5438export default logger ;
0 commit comments