UNPKG

@logtail/next

Version:

Better Stack Telemetry Next.js client

32 lines (26 loc) 678 B
import { usePathname } from 'next/navigation'; import { Logger, LoggerConfig } from './logger'; import { useEffect, useMemo } from 'react'; import { useDeepCompareMemo } from 'use-deep-compare'; export function useLogger(config: LoggerConfig = {}): Logger { const path = usePathname(); const memoizedConfig = useDeepCompareMemo( () => ({ ...config, args: { ...(config.args ?? {}), path, }, }), [config, path] ); const logger = useMemo(() => new Logger(memoizedConfig), [memoizedConfig]); useEffect(() => { return () => { if (logger) { logger.flush(); } }; }, [path]); return logger; }