@logtail/next
Version:
Better Stack Telemetry Next.js client
25 lines • 999 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useLogger = void 0;
const navigation_1 = require("next/navigation");
const logger_1 = require("./logger");
const react_1 = require("react");
const use_deep_compare_1 = require("use-deep-compare");
function useLogger(config = {}) {
const path = (0, navigation_1.usePathname)();
const memoizedConfig = (0, use_deep_compare_1.useDeepCompareMemo)(() => {
var _a;
return (Object.assign(Object.assign({}, config), { args: Object.assign(Object.assign({}, ((_a = config.args) !== null && _a !== void 0 ? _a : {})), { path }) }));
}, [config, path]);
const logger = (0, react_1.useMemo)(() => new logger_1.Logger(memoizedConfig), [memoizedConfig]);
(0, react_1.useEffect)(() => {
return () => {
if (logger) {
logger.flush();
}
};
}, [path]);
return logger;
}
exports.useLogger = useLogger;
//# sourceMappingURL=hooks.js.map