Skip to content

Commit

Permalink
feat(logging): set level via env var (#4340)
Browse files Browse the repository at this point in the history
* feat(logging): set level via env var

* add tests

* add changeset

* fix test

* Update .changeset/ten-timers-sneeze.md

---------

Co-authored-by: Deeksha Sinha <88374536+deekshas8@users.noreply.github.com>
Co-authored-by: deekshas8 <deeksha.sinha@sap.com>
Co-authored-by: Marika Marszalkowski <868536+marikaner@users.noreply.github.com>
  • Loading branch information
4 people committed Dec 13, 2023
1 parent 688bfe0 commit 4d2b49b
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 1 deletion.
5 changes: 5 additions & 0 deletions .changeset/ten-timers-sneeze.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sap-cloud-sdk/util': minor
---

[New Functionality] Add support for setting log level for newly created logger using environment variable `SAP_CLOUD_SDK_LOG_LEVEL`.
18 changes: 17 additions & 1 deletion packages/util/src/logger/cloud-sdk-logger.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,25 @@ describe('Cloud SDK Logger', () => {
delete process.env.VCAP_SERVICES;
});

it('creates a new default logger', () => {
it('creates a new default logger with default log level info', () => {
logger = createLogger();
expect(logger).not.toBeUndefined();
expect(logger.level).toEqual('info');
});

it('creates logger with log level from env variable, if one is specified', () => {
process.env.SAP_CLOUD_SDK_LOG_LEVEL = 'silly';

logger = createLogger();
expect(logger).not.toBeUndefined();
expect(logger.level).toEqual('silly');

const write = spyOnWrite(logger);

logger.silly(message);

expect(write).toHaveBeenCalled();
delete process.env.SAP_CLOUD_SDK_LOG_LEVEL;
});

it('creates a new logger for a module', () => {
Expand Down
1 change: 1 addition & 0 deletions packages/util/src/logger/cloud-sdk-logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ export function createLogger(
: { ...messageContext };
const logger = container.get(customFields.messageContext, {
level:
process.env.SAP_CLOUD_SDK_LOG_LEVEL ||
customLogLevels[customFields.messageContext] ||
customFields.level ||
container.options.level ||
Expand Down

0 comments on commit 4d2b49b

Please sign in to comment.