@@ -13,6 +13,7 @@ export type LoggerProps = {
1313 logLevel ?: LogLevel ;
1414 parent ?: Logger ;
1515 customPrefix ?: string ;
16+ color ?: ChalkInstance ;
1617} ;
1718
1819export type LoggerListener = (
@@ -29,6 +30,7 @@ export class Logger {
2930 public readonly name : string ;
3031 public readonly nesting : number ;
3132 public readonly customPrefix ?: string ;
33+ public readonly color ?: ChalkInstance ;
3234
3335 readonly listeners : LoggerListener [ ] = [ ] ;
3436
@@ -37,12 +39,15 @@ export class Logger {
3739 parent = undefined ,
3840 logLevel = parent ?. logLevel ?? LogLevel . info ,
3941 customPrefix,
42+ color,
4043 } : LoggerProps ) {
4144 this . customPrefix = customPrefix ;
4245 this . name = name ;
4346 this . parent = parent ;
4447 this . logLevel = logLevel ;
4548 this . logLevelIndex = logLevel ;
49+ // Inherit color from parent if not provided and parent has a color
50+ this . color = color ?? parent ?. color ;
4651
4752 // Calculate indent level and offset based on parent chain
4853 this . nesting = 0 ;
@@ -108,16 +113,26 @@ export const consoleOutputLogger: LoggerListener = (
108113 lines : string [ ] ,
109114) => {
110115 const getColor = ( level : LogLevel , _nesting : number = 0 ) : ChalkInstance => {
116+ // Always use red for errors and yellow for warnings regardless of agent color
117+ if ( level === LogLevel . error ) {
118+ return chalk . red ;
119+ }
120+ if ( level === LogLevel . warn ) {
121+ return chalk . yellow ;
122+ }
123+
124+ // Use logger's color if available for log level
125+ if ( level === LogLevel . log && logger . color ) {
126+ return logger . color ;
127+ }
128+
129+ // Default colors for different log levels
111130 switch ( level ) {
112131 case LogLevel . debug :
113132 case LogLevel . info :
114133 return chalk . white . dim ;
115134 case LogLevel . log :
116135 return chalk . white ;
117- case LogLevel . warn :
118- return chalk . yellow ;
119- case LogLevel . error :
120- return chalk . red ;
121136 default :
122137 throw new Error ( `Unknown log level: ${ level } ` ) ;
123138 }
0 commit comments