Home / Function/ createLoggerSpy() — astro Function Reference

createLoggerSpy() — astro Function Reference

Architecture documentation for the createLoggerSpy() function in test-utils.js from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  fd78a73b_736e_fadc_4cb6_d558754a9939["createLoggerSpy()"]
  2ca394f6_a63d_3921_1f12_c5a979ea0039["test-utils.js"]
  fd78a73b_736e_fadc_4cb6_d558754a9939 -->|defined in| 2ca394f6_a63d_3921_1f12_c5a979ea0039
  style fd78a73b_736e_fadc_4cb6_d558754a9939 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/e2e/test-utils.js lines 117–156

export function createLoggerSpy(options = {}) {
	const infoLogs = options.info || [];
	const warnLogs = options.warn || [];
	const errorLogs = options.error || [];
	const debugLogs = options.debug || [];

	const logger = {
		info(label, message) {
			infoLogs.push({ label, message });
		},
		warn(label, message) {
			warnLogs.push({ label, message });
		},
		error(label, message) {
			errorLogs.push({ label, message });
		},
		debug(label, ...messages) {
			debugLogs.push(...messages.map((message) => ({ label, message })));
		},
		options: {
			dest: { write: () => true },
			level: 'info',
		},
		level: () => 'info',
		forkIntegrationLogger(label) {
			const forked = {
				info: (message) => infoLogs.push({ label, message }),
				warn: (message) => warnLogs.push({ label, message }),
				error: (message) => errorLogs.push({ label, message }),
				debug: (message) => debugLogs.push({ label, message }),
				fork: (_newLabel) => {
					return forked;
				},
			};
			return forked;
		},
	};

	return logger;
}

Domain

Subdomains

Frequently Asked Questions

What does createLoggerSpy() do?
createLoggerSpy() is a function in the astro codebase, defined in packages/astro/e2e/test-utils.js.
Where is createLoggerSpy() defined?
createLoggerSpy() is defined in packages/astro/e2e/test-utils.js at line 117.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free