add logging with loglevel

This commit is contained in:
Elijah Duffy
2025-12-16 18:21:39 -08:00
parent af1c423ccb
commit 802a825854
5 changed files with 37 additions and 5 deletions

View File

@@ -61,7 +61,8 @@
"svelte"
],
"dependencies": {
"@types/umami": "^2.10.1"
"@types/umami": "^2.10.1",
"loglevel": "^1.9.2"
},
"publishConfig": {
"registry": "https://gitea.auvem.com/api/packages/svelte-toolkit/npm/"

9
pnpm-lock.yaml generated
View File

@@ -11,6 +11,9 @@ importers:
'@types/umami':
specifier: ^2.10.1
version: 2.10.1
loglevel:
specifier: ^1.9.2
version: 1.9.2
devDependencies:
'@eslint/compat':
specifier: ^1.4.0
@@ -846,6 +849,10 @@ packages:
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
loglevel@1.9.2:
resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==}
engines: {node: '>= 0.6.0'}
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
@@ -1852,6 +1859,8 @@ snapshots:
lodash.merge@4.6.2: {}
loglevel@1.9.2: {}
magic-string@0.30.21:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5

View File

@@ -39,18 +39,21 @@
loadMetaPixel(); // Load the Meta Pixel script
}
this._baseLoaded = true;
log.debug('Meta Pixel base script loaded.');
}
/** Tells the Meta pixel that the user has given consent for tracking. */
static grantConsent() {
this.loadGuard();
window.fbq?.('consent', 'grant');
log.debug('Meta Pixel consent granted.');
}
/** Tells the Meta pixel that the user has revoked consent for tracking. */
static revokeConsent() {
this.loadGuard();
window.fbq?.('consent', 'revoke');
log.debug('Meta Pixel consent revoked.');
}
/**
@@ -89,6 +92,7 @@
fireInit(advancedMatching?: AdvancedMatching, initOptions?: InitOptions): PixelControl {
PixelControl.loadGuard();
window.fbq('init', this._pixelID, advancedMatching, initOptions);
log.debug(`Meta Pixel [${this._pixelID}] initialized.`);
return this;
}
@@ -111,6 +115,9 @@
pageView() {
if (!this.consentGuard()) return;
window.fbq('track', 'PageView', undefined, { test_event_code: this._testEventCode });
log.debug(
`Meta Pixel [${this._pixelID}] PageView event sent (test code: ${this._testEventCode}).`
);
}
/**
@@ -123,6 +130,9 @@
eventID,
test_event_code: this._testEventCode
});
log.debug(
`Meta Pixel [${this._pixelID}] ${event} event sent (test code: ${this._testEventCode}).`
);
}
/**
@@ -135,6 +145,9 @@
eventID,
test_event_code: this._testEventCode
});
log.debug(
`Meta Pixel [${this._pixelID}] ${event} custom event sent (test code: ${this._testEventCode}).`
);
}
}
</script>
@@ -154,6 +167,7 @@
import { loadMetaPixel } from './util/meta-pixel-loader.ts';
import { onNavigate } from '$app/navigation';
import { resolveGetter, type MaybeGetter } from './util/getter.ts';
import log from 'loglevel';
interface Props {
/** Meta Pixel ID */

View File

@@ -2,6 +2,7 @@
import { dev } from '$app/environment';
import { onMount } from 'svelte';
import type { TrackingManager } from './tracking.svelte.ts';
import log from 'loglevel';
interface Props {
/**
@@ -27,11 +28,11 @@
const devConsoleTag = $derived(`[dev][consent: ${consentGranted ? 'granted' : 'revoked'}]`);
const devOverride = {
track: (...args: unknown[]): Promise<string> | undefined => {
console.log(`${devConsoleTag}: Track called with:`, ...args);
log.debug(`${devConsoleTag}: Track called with:`, ...args);
return undefined;
},
identify: (...args: unknown[]): Promise<void> => {
console.log(`${devConsoleTag}: Identify called with:`, ...args);
log.debug(`${devConsoleTag}: Identify called with:`, ...args);
return Promise.resolve();
}
};
@@ -61,7 +62,7 @@
}
});
if (dev) console.log('[dev]: Umami tracking disabled');
if (dev) log.debug('[dev]: Umami tracking disabled');
onMount(() => {
if (dev) {

View File

@@ -1,7 +1,14 @@
// Reexport your entry components here
export * as fbq from './types/fbq.js';
import { dev } from '$app/environment';
import log from 'loglevel';
export type * as fbq from './types/fbq.d.ts';
export { default as MetaPixel, PixelControl } from './MetaPixel.svelte';
export * from './tracking.svelte.ts';
export { default as Umami } from './Umami.svelte';
// set log level to debug if we're in dev mode
if (dev) {
log.setLevel('debug');
}