Skip to content

Commit c024c06

Browse files
committed
refactor: Allow setting logger level with URL query parameters
Simplify debugging in browser environments.
1 parent 47b5b27 commit c024c06

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

src/utils/logger.js

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,34 @@ const LOG_LEVELS = {
99
// Default log level
1010
let currentLogLevel = LOG_LEVELS.INFO;
1111

12+
// Check for log level from environment variable (Node.js)
1213
if ( typeof process !== 'undefined' && process?.env?.LOG_LEVEL ) {
13-
currentLogLevel = process.env.LOG_LEVEL;
14+
const envLogLevel = process.env.LOG_LEVEL.toUpperCase();
15+
if ( LOG_LEVELS[ envLogLevel ] !== undefined ) {
16+
currentLogLevel = LOG_LEVELS[ envLogLevel ];
17+
}
18+
}
19+
20+
// Check for log level from URL parameter (browser) - takes precedence
21+
const urlLogLevel = getLogLevelFromURL();
22+
if ( urlLogLevel ) {
23+
const upperCaseLevel = urlLogLevel.toUpperCase();
24+
if ( LOG_LEVELS[ upperCaseLevel ] !== undefined ) {
25+
currentLogLevel = LOG_LEVELS[ upperCaseLevel ];
26+
}
27+
}
28+
29+
/**
30+
* Get log level from URL parameters (for browser environments)
31+
*
32+
* @return {string|null} The log level from URL parameter or null if not found
33+
*/
34+
function getLogLevelFromURL() {
35+
if ( typeof window !== 'undefined' && window.location ) {
36+
const urlParams = new URLSearchParams( window.location.search );
37+
return urlParams.get( 'log_level' );
38+
}
39+
return null;
1440
}
1541

1642
/**

0 commit comments

Comments
 (0)