MCPcopy Create free account
hub / github.com/Dart-Code/Dart-Code / BufferedLogger

Class BufferedLogger

src/shared/utils.ts:161–195  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

159 | { type: "error", message: any, category?: LogCategory };
160
161export class BufferedLogger implements Logger {
162 private buffer: BufferedLogMessage[] = [];
163
164 public info(message: string, category?: LogCategory): void {
165 this.buffer.push({ type: "info", message, category });
166 }
167 public warn(message: any, category?: LogCategory): void {
168 this.buffer.push({ type: "warn", message, category });
169 }
170 public error(error: any, category?: LogCategory): void {
171 this.buffer.push({ type: "error", message: error, category });
172 }
173
174 public flushTo(logger: Logger) {
175 if (!this.buffer.length)
176 return;
177
178 logger.info("Flushing log messages...");
179 for (const log of this.buffer) {
180 switch (log.type) {
181 case "info":
182 logger.info(log.message, log.category);
183 break;
184 case "warn":
185 logger.warn(log.message, log.category);
186 break;
187 case "error":
188 logger.error(log.message, log.category);
189 break;
190 }
191 }
192 this.buffer.length = 0;
193 logger.info("Done flushing log messages...");
194 }
195}
196
197export type NullAsUndefined<T> = null extends T ? NonNullable<T> | undefined : T;
198

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected