Skip to content

Commit 6d68822

Browse files
Use log level when logger is set
1 parent 83f6e93 commit 6d68822

File tree

6 files changed

+12
-20
lines changed

6 files changed

+12
-20
lines changed

CHANGES.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
2.7.1 (October 8, 2025)
2+
- Bugfix - Update `debug` option to support log levels when `logger` option is used.
3+
14
2.7.0 (October 7, 2025)
2-
- Added support for custom loggers: added `logger` configuration option and `LoggerAPI.setLogger` method to allow the SDK to use a custom logger.
5+
- Added support for custom loggers: added `logger` configuration option and `factory.Logger.setLogger` method to allow the SDK to use a custom logger.
36

47
2.6.0 (September 18, 2025)
58
- Added `storage.wrapper` configuration option to allow the SDK to use a custom storage wrapper for the storage type `LOCALSTORAGE`. Default value is `window.localStorage`.

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@splitsoftware/splitio-commons",
3-
"version": "2.7.0",
3+
"version": "2.7.1",
44
"description": "Split JavaScript SDK common components",
55
"main": "cjs/index.js",
66
"module": "esm/index.js",

src/logger/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,6 @@ export class Logger implements ILogger {
7272
if (logger) {
7373
if (isLogger(logger)) {
7474
this.logger = logger;
75-
// If custom logger is set, all logs are either enabled or disabled
76-
if (this.logLevel !== LogLevelIndexes.NONE) this.setLogLevel(LogLevels.DEBUG);
7775
return;
7876
} else {
7977
this.error('Invalid `logger` instance. It must be an object with `debug`, `info`, `warn` and `error` methods. Defaulting to `console.log`');

src/utils/settingsValidation/logger/__tests__/index.spec.ts

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,19 +49,13 @@ describe('logger validators', () => {
4949
});
5050

5151
test.each(testTargets)('returns a logger with the provided log level if `debug` property is true or a string log level', (validateLogger) => {
52-
expect(getLoggerLogLevel(validateLogger({ debug: true }))).toBe('DEBUG');
52+
expect(getLoggerLogLevel(validateLogger({ debug: true, logger: loggerMock }))).toBe('DEBUG');
5353
expect(getLoggerLogLevel(validateLogger({ debug: 'DEBUG' }))).toBe('DEBUG');
54-
expect(getLoggerLogLevel(validateLogger({ debug: 'INFO' }))).toBe('INFO');
54+
expect(getLoggerLogLevel(validateLogger({ debug: 'INFO', logger: loggerMock }))).toBe('INFO');
5555
expect(getLoggerLogLevel(validateLogger({ debug: 'WARN' }))).toBe('WARN');
56-
expect(getLoggerLogLevel(validateLogger({ debug: 'ERROR' }))).toBe('ERROR');
56+
expect(getLoggerLogLevel(validateLogger({ debug: 'ERROR', logger: loggerMock }))).toBe('ERROR');
5757
expect(getLoggerLogLevel(validateLogger({ debug: 'NONE' }))).toBe('NONE');
58-
59-
// When combined with the `logger` option, any log level other than `NONE` (false) will be set to `DEBUG` (true)
60-
expect(getLoggerLogLevel(validateLogger({ debug: 'DEBUG', logger: loggerMock }))).toBe('DEBUG');
61-
expect(getLoggerLogLevel(validateLogger({ debug: 'INFO', logger: loggerMock }))).toBe('DEBUG');
62-
expect(getLoggerLogLevel(validateLogger({ debug: 'WARN', logger: loggerMock }))).toBe('DEBUG');
63-
expect(getLoggerLogLevel(validateLogger({ debug: 'ERROR', logger: loggerMock }))).toBe('DEBUG');
64-
expect(getLoggerLogLevel(validateLogger({ debug: 'NONE', logger: loggerMock }))).toBe('NONE');
58+
expect(getLoggerLogLevel(validateLogger({ debug: false }))).toBe('NONE');
6559

6660
expect(consoleLogSpy).not.toBeCalled();
6761
});

types/splitio.d.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ interface ISharedSettings {
9393
urls?: SplitIO.UrlSettings;
9494
/**
9595
* Custom logger object. If not provided, the SDK will use the default `console.log` method for all log levels.
96+
* Set together with `debug` option to `true` or a log level string to enable logging.
9697
*/
9798
logger?: SplitIO.Logger;
9899
}
@@ -145,8 +146,6 @@ interface IPluggableSharedSettings {
145146
* config.debug = ErrorLogger()
146147
* ```
147148
*
148-
* When combined with the `logger` option, any log level other than `NONE` (false) will be set to `DEBUG` (true), delegating log level control to the custom logger.
149-
*
150149
* @defaultValue `false`
151150
*/
152151
debug?: boolean | SplitIO.LogLevel | SplitIO.ILogger;
@@ -170,8 +169,6 @@ interface INonPluggableSharedSettings {
170169
* config.debug = 'WARN'
171170
* ```
172171
*
173-
* When combined with the `logger` option, any log level other than `NONE` (false) will be set to `DEBUG` (true), delegating log level control to the custom logger.
174-
*
175172
* @defaultValue `false`
176173
*/
177174
debug?: boolean | SplitIO.LogLevel;

0 commit comments

Comments
 (0)