Skip to content

Commit 74aefef

Browse files
mreuversmreuvers
authored andcommitted
Issue #93: Arguments for category logger were passed in correctly
Arguments didn't use the spread operator. This caused an extra array around them. Added test to cover this. Additionally minor doc fix (an argument was missing in CoreLogger).
1 parent 80a60a7 commit 74aefef

File tree

4 files changed

+29
-6
lines changed

4 files changed

+29
-6
lines changed

category-style/src/typescript/main/impl/CategoryImpl.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,36 +78,36 @@ export class CategoryImpl implements Category {
7878
public trace(message: LogMessageType, ...args: unknown[]): void;
7979
public trace(message: LogMessageType, error: ExceptionType, ...args: unknown[]): void;
8080
public trace(message: LogMessageType, ...args: unknown[]): void {
81-
this._logger.trace(message, args);
81+
this._logger.trace(message, ...args);
8282
}
8383

8484
public debug(message: LogMessageType, ...args: unknown[]): void;
8585
public debug(message: LogMessageType, error: ExceptionType, ...args: unknown[]): void;
8686
public debug(message: LogMessageType, ...args: unknown[]): void {
87-
this._logger.debug(message, args);
87+
this._logger.debug(message, ...args);
8888
}
8989

9090
public info(message: LogMessageType, ...args: unknown[]): void;
9191
public info(message: LogMessageType, error: ExceptionType, ...args: unknown[]): void;
9292
public info(message: LogMessageType, ...args: unknown[]): void {
93-
this._logger.info(message, args);
93+
this._logger.info(message, ...args);
9494
}
9595

9696
public warn(message: LogMessageType, ...args: unknown[]): void;
9797
public warn(message: LogMessageType, error: ExceptionType, ...args: unknown[]): void;
9898
public warn(message: LogMessageType, ...args: unknown[]): void {
99-
this._logger.warn(message, args);
99+
this._logger.warn(message, ...args);
100100
}
101101

102102
public error(message: LogMessageType, ...args: unknown[]): void;
103103
public error(message: LogMessageType, error: ExceptionType, ...args: unknown[]): void;
104104
public error(message: LogMessageType, ...args: unknown[]): void {
105-
this._logger.error(message, args);
105+
this._logger.error(message, ...args);
106106
}
107107

108108
public fatal(message: LogMessageType, ...args: unknown[]): void;
109109
public fatal(message: LogMessageType, error: ExceptionType, ...args: unknown[]): void;
110110
public fatal(message: LogMessageType, ...args: unknown[]): void {
111-
this._logger.fatal(message, args);
111+
this._logger.fatal(message, ...args);
112112
}
113113
}

category-style/src/typescript/test/TestCategoryProvider.spec.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,4 +210,22 @@ describe("Test CategoryProvider", () => {
210210
expect(child2.logLevel).toEqual(LogLevel.Info);
211211
expect(child2.runtimeSettings.channel).toEqual(channel2);
212212
});
213+
214+
test("Test passed arguments are correct", () => {
215+
const channel = new $test.ArrayRawLogChannel();
216+
const provider = CategoryProvider.createProvider("test", {
217+
level: LogLevel.Debug,
218+
channel,
219+
});
220+
221+
const root = provider.getCategory("root");
222+
root.debug("hello1");
223+
224+
root.debug("hello2", 10);
225+
root.debug("hello3", { val: 100 });
226+
root.debug(() => "hello4", "oops", { val: 100 }, { str: "abc" }, [10, 11]);
227+
228+
expect(channel.messages).toEqual(["hello1", "hello2", "hello3", "hello4"]);
229+
expect(channel.rawMessages.map(msg => msg.args)).toEqual([undefined, [10], [{ val: 100 }], ["oops", { val: 100 }, { str: "abc" }, [10, 11]]]);
230+
});
213231
});

core/src/typescript/main/core/api/CoreLogger.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ export interface CoreLogger {
6161
* log.debug("Hello", new Error("AnotherError"), "Some", "Random", "Arguments", [], 123);
6262
* ```
6363
* @param message Message
64+
* @param error Error type (Error or lambda returning an Error)
6465
* @param args Optional arguments (note the first argument can be a (caught) Error which is treated as such then)
6566
*/
6667
debug(message: LogMessageType, error: ExceptionType, ...args: unknown[]): void;

core/src/typescript/test/TestClasses.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ export class ArrayRawLogChannel implements RawLogChannel {
4444
return this._buffer.length;
4545
}
4646

47+
public get rawMessages() {
48+
return this._buffer;
49+
}
50+
4751
public clear() {
4852
this._buffer = [];
4953
}

0 commit comments

Comments
 (0)