Skip to content
Open
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
09cc182
feat: deprecate LogLevel.default and .error and remove all calls to t…
MarioJGMsoft Apr 27, 2026
3525674
feat: send LogLevel as undefined and default to essential on send logic
MarioJGMsoft Apr 27, 2026
f3c37bf
Merge branch 'main' into marioja/deprecateLogLevel
MarioJGMsoft Apr 28, 2026
07925f4
Merge branch 'microsoft:main' into marioja/deprecateLogLevel
MarioJGMsoft Apr 29, 2026
67614c8
refactor: properly ordered imports and removed LogLevel.default
MarioJGMsoft Apr 29, 2026
a568d12
docs: fixed comments
MarioJGMsoft Apr 29, 2026
9a81682
docs: updated docs
MarioJGMsoft Apr 29, 2026
da948a1
docs: added changesets
MarioJGMsoft Apr 29, 2026
c0d9396
docs: added removal timeline
MarioJGMsoft Apr 29, 2026
f3a92b6
docs: updated deprecation message
MarioJGMsoft Apr 29, 2026
0ba1037
docs: addressed docs comments
MarioJGMsoft May 4, 2026
eab130c
Merge branch 'microsoft:main' into marioja/deprecateLogLevel
MarioJGMsoft May 5, 2026
5f1205d
docs: updated chengeset title
MarioJGMsoft May 5, 2026
ba39358
feat: applied changes to docs and code based on comments
MarioJGMsoft May 5, 2026
bad5774
feat: made logLevel required in various levels and added tests
MarioJGMsoft May 6, 2026
71c1f07
fix: removed type import from normal import
MarioJGMsoft May 6, 2026
2c13181
fix: applied changes based on review
MarioJGMsoft May 6, 2026
3b3f5fe
docs: updated docs
MarioJGMsoft May 6, 2026
fbd560a
docs: removed changeset
MarioJGMsoft May 6, 2026
5d5fcb1
docs: updated performance docs
MarioJGMsoft May 6, 2026
beeac4c
Merge branch 'main' into marioja/deprecateLogLevel
MarioJGMsoft May 6, 2026
bee89e1
chore: untrack dev-container bind-mounted files accidentally added
MarioJGMsoft May 6, 2026
1131b62
docs: updated docs message
MarioJGMsoft May 6, 2026
1205a20
feat: applied changes based on comments
MarioJGMsoft May 7, 2026
c033d8a
Merge branch 'main' into marioja/deprecateLogLevel
MarioJGMsoft May 7, 2026
03adcc4
feat: updated guidance and returned childLogger--Sink tests
MarioJGMsoft May 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .changeset/salty-colts-appear.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
"@fluidframework/core-interfaces": minor
"__section": deprecation
---

Deprecated LogLevel.default and LogLevel.error

`LogLevel.default` and `LogLevel.error` in `@fluidframework/core-interfaces` are deprecated in favor of the semantically clearer `LogLevel.info` and `LogLevel.essential` respectively.

#### Migration

- `LogLevel.default` (= `20`) → use `LogLevel.info`
Comment thread
jason-ha marked this conversation as resolved.
Outdated
- `LogLevel.error` (= `30`) → use `LogLevel.essential`

Removal is tracked in [issue #26969](https://github.com/microsoft/FluidFramework/issues/26969) and is planned for the v3.0 major release.
20 changes: 20 additions & 0 deletions .changeset/soft-doors-trade.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
"@fluidframework/telemetry-utils": minor
"__section": other
---

ChildLogger now tags events with no explicit `logLevel` as `essential`

`@fluidframework/telemetry-utils` previously forwarded events with no explicit `logLevel` to the base logger as `undefined` (effectively treated as `LogLevel.info` = `20`). It now forwards them as `LogLevel.essential` (= `30`). Specifically:

Check warning on line 8 in .changeset/soft-doors-trade.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Microsoft.Adverbs] Remove 'effectively' if it's not important to the meaning of the statement. Raw Output: {"message": "[Microsoft.Adverbs] Remove 'effectively' if it's not important to the meaning of the statement.", "location": {"path": ".changeset/soft-doors-trade.md", "range": {"start": {"line": 8, "column": 126}}}, "severity": "WARNING"}

- `ChildLogger.shouldFilterOutEvent` now falls back to `LogLevel.essential` when an event has no `logLevel` (previously fell back to `LogLevel.default` = `LogLevel.info` = `20`).
- `ChildLogger.send` now forwards `LogLevel.essential` to the base logger when no `logLevel` is supplied, instead of forwarding `undefined`.
- The implicit `= LogLevel.default` parameter defaults on `TelemetryLogger.sendTelemetryEvent` and `sendPerformanceEvent` were removed; callers that omit `logLevel` now propagate `undefined` through the chain, where `ChildLogger` applies the new `essential` fallback above.

#### Impact for downstream consumers

Internal Fluid events that previously arrived at the base logger with `logLevel = undefined` will now arrive tagged as `30` (`essential`). Hosts that filter telemetry by numeric level should not start dropping `logLevel = 20` events as "non-essential" unless **all** running Fluid versions include this change — older versions still send those same critical events at level `20`, and dropping them would lose telemetry.

Check failure on line 16 in .changeset/soft-doors-trade.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Microsoft.Dashes] Remove the spaces around ' — '. Raw Output: {"message": "[Microsoft.Dashes] Remove the spaces around ' — '.", "location": {"path": ".changeset/soft-doors-trade.md", "range": {"start": {"line": 16, "column": 310}}}, "severity": "ERROR"}

Check warning on line 16 in .changeset/soft-doors-trade.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Microsoft.SentenceLength] Try to keep sentences short (< 30 words). Raw Output: {"message": "[Microsoft.SentenceLength] Try to keep sentences short (\u003c 30 words).", "location": {"path": ".changeset/soft-doors-trade.md", "range": {"start": {"line": 16, "column": 140}}}, "severity": "INFO"}

#### Events already explicitly tagged as `LogLevel.info`

Note that this change only affects events emitted with **no** explicit `logLevel`. A set of events that are already explicitly tagged with `LogLevel.info` (= `20`) was introduced in [PR #27126](https://github.com/microsoft/FluidFramework/pull/27126) and is unaffected by this change — those events continue to be emitted at level `20` by design and are the intended target for hosts that want to drop non-essential telemetry once all running Fluid versions include both PR #27126 and this change.

Check failure on line 20 in .changeset/soft-doors-trade.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Microsoft.Dashes] Remove the spaces around ' — '. Raw Output: {"message": "[Microsoft.Dashes] Remove the spaces around ' — '.", "location": {"path": ".changeset/soft-doors-trade.md", "range": {"start": {"line": 20, "column": 283}}}, "severity": "ERROR"}

Check warning on line 20 in .changeset/soft-doors-trade.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Microsoft.SentenceLength] Try to keep sentences short (< 30 words). Raw Output: {"message": "[Microsoft.SentenceLength] Try to keep sentences short (\u003c 30 words).", "location": {"path": ".changeset/soft-doors-trade.md", "range": {"start": {"line": 20, "column": 84}}}, "severity": "INFO"}
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,9 @@ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];

// @public
export interface LogLevelConst {
// @deprecated
readonly default: 20;
// @deprecated
readonly error: 30;
readonly essential: 30;
readonly info: 20;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,9 @@ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];

// @public
export interface LogLevelConst {
// @deprecated
readonly default: 20;
// @deprecated
readonly error: 30;
readonly essential: 30;
readonly info: 20;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,9 @@ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];

// @public
export interface LogLevelConst {
// @deprecated
readonly default: 20;
// @deprecated
readonly error: 30;
readonly essential: 30;
readonly info: 20;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,9 @@ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];

// @public
export interface LogLevelConst {
// @deprecated
readonly default: 20;
// @deprecated
readonly error: 30;
readonly essential: 30;
readonly info: 20;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,9 @@ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];

// @public
export interface LogLevelConst {
// @deprecated
readonly default: 20;
// @deprecated
readonly error: 30;
readonly essential: 30;
readonly info: 20;
Expand Down
10 changes: 6 additions & 4 deletions packages/common/core-interfaces/src/logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,15 @@ export interface LogLevelConst {

/**
* Default LogLevel
* @remarks Prefer {@link LogLevelConst.info | LogLevel.info} when selecting a level explicitly since this will be deprecated and removed in a future release.
* @deprecated Prefer {@link LogLevelConst.info | LogLevel.info} when selecting a level explicitly to preserve prior treatment. Planned to be removed in 3.0.0.
* @see {@link https://github.com/microsoft/FluidFramework/issues/26969 | Issue #26969} for removal tracking.
*/
readonly default: 20;

/**
* To log errors.
* @remarks Prefer {@link LogLevelConst.essential | LogLevel.essential} when selecting a level since this will be deprecated and removed in a future release.
* @deprecated Prefer {@link LogLevelConst.essential | LogLevel.essential} when selecting a level. Planned to be removed in 3.0.0.
* @see {@link https://github.com/microsoft/FluidFramework/issues/26969 | Issue #26969} for removal tracking.
*/
readonly error: 30;
}
Expand Down Expand Up @@ -120,13 +122,13 @@ export interface ITelemetryBaseLogger {
/**
* Log a telemetry event, if it meets the appropriate log-level threshold (see {@link ITelemetryBaseLogger.minLogLevel}).
* @param event - The event to log.
* @param logLevel - The log level of the event. Default: {@link LogLevelConst.default | LogLevel.default}.
* @param logLevel - The log level of the event. Default: {@link LogLevelConst.info | LogLevel.info}.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't the default supposed to be essential? Maybe it's clearer if we say it like "suggested interpretation of undefined: LogLevel.essential"? Since this is an interface so claiming a "default value" is kind of in vain, it could be implemented any way.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied change

*/
send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;

/**
* Minimum log level to be logged.
* @defaultValue {@link LogLevelConst.default | LogLevel.default}.
* @defaultValue {@link LogLevelConst.info | LogLevel.info}.
*/
minLogLevel?: LogLevel;
}
Expand Down
3 changes: 2 additions & 1 deletion packages/loader/container-loader/src/test/container.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ import {
TypedEventEmitter,
type IProvideLayerCompatDetails,
} from "@fluid-internal/client-utils";
import { AttachState, type IAudience } from "@fluidframework/container-definitions";
Comment thread
jason-ha marked this conversation as resolved.
import type { IAudience } from "@fluidframework/container-definitions";
import { AttachState } from "@fluidframework/container-definitions";
import type {
ICriticalContainerError,
IContainer,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ export interface ITelemetryLoggerExt extends ITelemetryBaseLogger {
// @deprecated
sendErrorEvent(event: ITelemetryErrorEventExt, error?: unknown): void;
// @deprecated
sendPerformanceEvent(event: ITelemetryPerformanceEventExt, error?: unknown, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
sendPerformanceEvent(event: ITelemetryPerformanceEventExt, error?: unknown, logLevel?: typeof LogLevel.verbose | typeof LogLevel.info): void;
// @deprecated
sendTelemetryEvent(event: ITelemetryGenericEventExt, error?: unknown, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
sendTelemetryEvent(event: ITelemetryGenericEventExt, error?: unknown, logLevel?: typeof LogLevel.verbose | typeof LogLevel.info): void;
}

// @beta @legacy (undocumented)
Expand Down
33 changes: 19 additions & 14 deletions packages/utils/telemetry-utils/src/logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -230,12 +230,12 @@ export abstract class TelemetryLogger implements TelemetryLoggerExt {
public sendTelemetryEvent(
event: ITelemetryGenericEventExt,
error?: unknown,
logLevel: typeof LogLevel.verbose | typeof LogLevel.default = LogLevel.default,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.info,
): void {
this.sendTelemetryEventCore(
{ ...event, category: event.category ?? "generic" },
error,
event.category === "error" ? LogLevel.error : logLevel,
event.category === "error" ? LogLevel.essential : logLevel,
);
}

Expand Down Expand Up @@ -280,7 +280,7 @@ export abstract class TelemetryLogger implements TelemetryLoggerExt {
category: "error",
},
error,
LogLevel.error,
LogLevel.essential,
);
}

Expand All @@ -295,7 +295,7 @@ export abstract class TelemetryLogger implements TelemetryLoggerExt {
public sendPerformanceEvent(
event: ITelemetryPerformanceEventExt,
error?: unknown,
logLevel: typeof LogLevel.verbose | typeof LogLevel.default = LogLevel.default,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.info,
): void {
const perfEvent = {
...event,
Expand All @@ -305,7 +305,7 @@ export abstract class TelemetryLogger implements TelemetryLoggerExt {
this.sendTelemetryEventCore(
perfEvent,
error,
perfEvent.category === "error" ? LogLevel.error : logLevel,
perfEvent.category === "error" ? LogLevel.essential : logLevel,
);
}

Expand Down Expand Up @@ -518,8 +518,9 @@ export class ChildLogger extends TelemetryLogger {
}

private shouldFilterOutEvent(event: ITelemetryBaseEvent, logLevel?: LogLevel): boolean {
const eventLogLevel = logLevel ?? LogLevel.default;
const configLogLevel = this.baseLogger.minLogLevel ?? LogLevel.default;
// Determine the log level of the event. If none is provided, default to essential
const eventLogLevel = logLevel ?? LogLevel.essential;
const configLogLevel = this.baseLogger.minLogLevel ?? LogLevel.info;
// Filter out in case event log level is below what is wanted in config.
return eventLogLevel < configLogLevel;
}
Expand All @@ -533,7 +534,8 @@ export class ChildLogger extends TelemetryLogger {
if (this.shouldFilterOutEvent(event, logLevel)) {
return;
}
this.baseLogger.send(this.prepareEvent(event), logLevel);
// If no log level was provided, default to essential
this.baseLogger.send(this.prepareEvent(event), logLevel ?? LogLevel.essential);
}
Comment thread
MarioJGMsoft marked this conversation as resolved.
}

Expand Down Expand Up @@ -618,7 +620,7 @@ export class MultiSinkLogger extends TelemetryLogger {

super(namespace, realProperties);
this.loggers = loggers;
this._minLogLevelOfAllLoggers = LogLevel.default;
this._minLogLevelOfAllLoggers = LogLevel.info;
this.calculateMinLogLevel();
}

Expand All @@ -630,7 +632,7 @@ export class MultiSinkLogger extends TelemetryLogger {
if (this.loggers.length > 0) {
const logLevels: LogLevel[] = [];
for (const logger of this.loggers) {
logLevels.push(logger.minLogLevel ?? LogLevel.default);
logLevels.push(logger.minLogLevel ?? LogLevel.info);
}
this._minLogLevelOfAllLoggers = Math.min(...logLevels) as LogLevel;
}
Expand Down Expand Up @@ -693,14 +695,15 @@ export class PerformanceEvent {
* @param emitLogs - should this instance emit logs. If set to false, logs will not be emitted to the logger,
* but measurements will still be performed and any specified markers will be generated.
* @param logLevel - optional {@link LogLevel} for events emitted by this performance event.
* If unspecified, {@link @fluidframework/core-interfaces#LogLevelConst.info | LogLevel.info} will be used.
* @returns An instance of {@link PerformanceEvent}
Comment thread
MarioJGMsoft marked this conversation as resolved.
*/
public static start(
logger: TelemetryLoggerExt | ITelemetryLoggerExt,
event: ITelemetryGenericEventExt,
markers?: IPerformanceEventMarkers,
emitLogs: boolean = true,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.default,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.info,
): PerformanceEvent {
return new PerformanceEvent(
extractTelemetryLoggerExt(logger),
Expand All @@ -720,6 +723,7 @@ export class PerformanceEvent {
* @param sampleThreshold - events with the same name and category will be sent to the logger
* only when we hit this many executions of the task. If unspecified, all events will be sent.
* @param logLevel - optional {@link LogLevel} for events emitted by this performance event.
* If unspecified, {@link @fluidframework/core-interfaces#LogLevelConst.info | LogLevel.info} will be used.
* @returns The results of the executed task
Comment thread
MarioJGMsoft marked this conversation as resolved.
*
* @remarks Note that if the "same" event (category + eventName) would be emitted by different
Expand All @@ -733,7 +737,7 @@ export class PerformanceEvent {
callback: (event: PerformanceEvent) => T,
markers?: IPerformanceEventMarkers,
sampleThreshold: number = 1,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.default,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.info,
): T {
const perfEvent = PerformanceEvent.start(
logger,
Expand Down Expand Up @@ -762,6 +766,7 @@ export class PerformanceEvent {
* @param sampleThreshold - events with the same name and category will be sent to the logger
* only when we hit this many executions of the task. If unspecified, all events will be sent.
* @param logLevel - optional {@link LogLevel} for events emitted by this performance event.
* If unspecified, {@link @fluidframework/core-interfaces#LogLevelConst.info | LogLevel.info} will be used.
Comment thread
MarioJGMsoft marked this conversation as resolved.
Outdated
* @returns The results of the executed task
*
* @remarks Note that if the "same" event (category + eventName) would be emitted by different
Expand All @@ -775,7 +780,7 @@ export class PerformanceEvent {
callback: (event: PerformanceEvent) => Promise<T>,
markers?: IPerformanceEventMarkers,
sampleThreshold: number = 1,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.default,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.info,
): Promise<T> {
const perfEvent = PerformanceEvent.start(
logger,
Expand Down Expand Up @@ -807,7 +812,7 @@ export class PerformanceEvent {
event: ITelemetryGenericEventExt,
private readonly markers: IPerformanceEventMarkers = { end: true, cancel: "generic" },
private readonly emitLogs: boolean = true,
private readonly logLevel?: typeof LogLevel.verbose | typeof LogLevel.default,
private readonly logLevel?: typeof LogLevel.verbose | typeof LogLevel.info,
Comment thread
jason-ha marked this conversation as resolved.
Outdated
) {
this.event = { ...event };
if (this.markers.start) {
Expand Down
4 changes: 2 additions & 2 deletions packages/utils/telemetry-utils/src/mockLogger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export class MockLogger implements ITelemetryBaseLogger {
public readonly minLogLevel: LogLevel;

public constructor(minLogLevel?: LogLevel) {
this.minLogLevel = minLogLevel ?? LogLevel.default;
this.minLogLevel = minLogLevel ?? LogLevel.info;
}

/**
Expand All @@ -59,7 +59,7 @@ export class MockLogger implements ITelemetryBaseLogger {
* {@inheritDoc @fluidframework/core-interfaces#ITelemetryBaseLogger.send}
*/
public send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void {
if ((logLevel ?? LogLevel.default) >= this.minLogLevel) {
if ((logLevel ?? LogLevel.info) >= this.minLogLevel) {
this._events.push(event);
}
}
Expand Down
12 changes: 6 additions & 6 deletions packages/utils/telemetry-utils/src/telemetryTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ export interface ITelemetryLoggerExt extends ITelemetryBaseLogger {
sendTelemetryEvent(
event: ITelemetryGenericEventExt,
error?: unknown,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.default,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.info,
): void;

/**
Expand All @@ -166,7 +166,7 @@ export interface ITelemetryLoggerExt extends ITelemetryBaseLogger {
sendPerformanceEvent(
event: ITelemetryPerformanceEventExt,
error?: unknown,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.default,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.info,
): void;
}

Expand All @@ -183,12 +183,12 @@ export interface TelemetryLoggerExt extends ITelemetryBaseLogger {
* Send an information telemetry event.
* @param event - Event to send.
* @param error - Optional error object to log.
* @param logLevel - Optional level of the log. Default: {@link @fluidframework/core-interfaces#LogLevel.default}.
* @param logLevel - Optional level of the log. Default: {@link @fluidframework/core-interfaces#LogLevelConst.info | LogLevel.info}.
*/
sendTelemetryEvent(
event: ITelemetryGenericEventExt,
error?: unknown,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.default,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.info,
): void;
Comment thread
MarioJGMsoft marked this conversation as resolved.

/**
Expand All @@ -202,11 +202,11 @@ export interface TelemetryLoggerExt extends ITelemetryBaseLogger {
* Send a performance telemetry event.
* @param event - Event to send
* @param error - Optional error object to log.
* @param logLevel - Optional level of the log. Default: {@link @fluidframework/core-interfaces#LogLevelConst.default | LogLevel.default}.
* @param logLevel - Optional level of the log. Default: {@link @fluidframework/core-interfaces#LogLevelConst.info | LogLevel.info}.
*/
sendPerformanceEvent(
event: ITelemetryPerformanceEventExt,
error?: unknown,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.default,
logLevel?: typeof LogLevel.verbose | typeof LogLevel.info,
): void;
Comment thread
MarioJGMsoft marked this conversation as resolved.
}
12 changes: 6 additions & 6 deletions packages/utils/telemetry-utils/src/test/childLogger.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -194,15 +194,15 @@ describe("ChildLogger", () => {
sent = true;
},

minLogLevel: LogLevel.error,
minLogLevel: LogLevel.essential,
};
const childLogger1 = createChildLogger({ logger });

childLogger1.send({ category: "error", eventName: "testEvent" }, LogLevel.error);
childLogger1.send({ category: "error", eventName: "testEvent" }, LogLevel.essential);
assert(sent, "event should be sent");

sent = false;
childLogger1.send({ category: "generic", eventName: "testEvent" }, LogLevel.default);
childLogger1.send({ category: "generic", eventName: "testEvent" }, LogLevel.info);
assert(!sent, "event should not be sent");
Comment thread
MarioJGMsoft marked this conversation as resolved.
Outdated
});

Expand Down Expand Up @@ -257,10 +257,10 @@ describe("ChildLogger", () => {
}
sent = true;
},
minLogLevel: LogLevel.default,
minLogLevel: LogLevel.info,
};
const multiSinkLogger = createMultiSinkLogger({
loggers: [logger1, new MockLogger(LogLevel.error)],
loggers: [logger1, new MockLogger(LogLevel.essential)],
});
const childLogger1 = createChildLogger({
logger: multiSinkLogger,
Expand All @@ -269,7 +269,7 @@ describe("ChildLogger", () => {
childLogger1.send({ category: "generic", eventName: "testEvent" }, LogLevel.verbose);
assert(!sent, "verbose event should not be sent");

childLogger1.send({ category: "generic", eventName: "testEvent" }, LogLevel.default);
childLogger1.send({ category: "generic", eventName: "testEvent" }, LogLevel.info);
assert(sent, "default event should be sent");
});
});
Loading
Loading