logger
Logger singleton module.
LogLevelβ
Defined in: index.ts:23
Log levels supported by the logger.
Remarksβ
The logger supports standard console methods plus custom 'success' level for framework-specific integrations like Docusaurus.
Enumeration Membersβ
debugβ
debug: "debug";
Defined in: index.ts:24
errorβ
error: "error";
Defined in: index.ts:25
infoβ
info: "info";
Defined in: index.ts:26
logβ
log: "log";
Defined in: index.ts:27
successβ
success: "success";
Defined in: index.ts:28
warnβ
warn: "warn";
Defined in: index.ts:29
__internalβ
const __internal: object;
Defined in: index.ts:183
Internal
Internal helpers exported for testing purposes only. Not part of the public API β do not use in application code.
Type Declarationβ
hasLogMethodβ
hasLogMethod: (instance, level) => instance is Record<string, (args: unknown[]) => unknown>;
Type guard to check if an object has a log method for a given level.
Parametersβ
instanceβ
unknown
The object to check
levelβ
| "debug"
| "error"
| "info"
| "log"
| "success"
| "warn"
| LogLevel
The log level to verify
Returnsβ
instance is Record<string, (args: unknown[]) => unknown>
true if the instance has a function at the given level, false otherwise
resolveLoggerInstanceβ
resolveLoggerInstance: (instance) =>
| Partial<Record<LogLevel, (...unknown) => void>>
| undefined;
Resolve a logger instance from a module export.
Parametersβ
instanceβ
unknown
The module export or object to resolve
Returnsβ
| Partial<Record<LogLevel, (...unknown) => void>>
| undefined
The logger instance if found, or undefined if no valid logger is detected (the caller is responsible for falling back to globalThis.console)
Remarksβ
Handles various module export patterns:
- Direct logger instance:
{ info: () => {}, ... } - Default export:
{ default: { info: () => {}, ... } } - Named export:
{ logger: { info: () => {}, ... } }
log()β
function log(message, level?): void;
Defined in: index.ts:168
Logs a message by calling the active logger instance.
Parametersβ
messageβ
string
a string to be logged.
level?β
| "debug"
| "error"
| "info"
| "log"
| "success"
| "warn"
| LogLevel
optional log level, "info" by default.
Returnsβ
void
Remarksβ
If a log level is not supported by the logger instance, then it defaults to "info".
Exampleβ
import { log } from "@graphql-markdown/logger";
log("Info message"); // Expected console output "Info message"
Logger()β
function Logger(moduleName?): Promise<void>;
Defined in: index.ts:111
Instantiate a logger module.
By default, the logger module uses globalThis.console
Parametersβ
moduleName?β
string
optional name of the logger package.
Returnsβ
Promise<void>
Exampleβ
import Logger, { log } from "@graphql-markdown/logger";
log("Info message"); // Expected console output "Info message"
Logger("@docusaurus/logger");
log("Info message", "info"); // Expected Docusaurus log output "Info message"