Skip to content

Commit 7b188e1

Browse files
committed
Issue #80: Make LogId a string
This is easier to make proper identifiers for every type of logging provider.
1 parent 8350583 commit 7b188e1

File tree

6 files changed

+19
-12
lines changed

6 files changed

+19
-12
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export type LogId = string;

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,16 @@ import {ArgumentsType} from "./type/ArgumentsType";
1010
export interface Logger {
1111

1212
/**
13+
* Id by which this logger is identified (not relevant for an end user).
14+
*/
15+
readonly id: LogId;
16+
1317
* Returns current log level of this Logger instance.
1418
*/
1519
readonly logLevel: LogLevel;
1620

1721
/**
18-
* Number by which this logger is identified (not relevant for an end user).
1922
*/
20-
readonly id: number;
2123

2224
trace(message: LogMessageType, args?: ArgumentsType): void;
2325

core/src/typescript/main/core/api/runtime/LogRuntime.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {LogProvider} from "../LogProvider";
1111
* Represents runtime settings that are created for a {@link LogProvider} instance.
1212
*/
1313
export interface LogRuntime {
14-
readonly id: number;
14+
readonly id: LogId;
1515
readonly name: LoggerNameType;
1616
readonly level: LogLevel;
1717
readonly channel: LogChannel | RawLogChannel;

core/src/typescript/main/core/impl/LoggerImpl.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,14 @@ export class LoggerImpl implements Logger {
1818
this._runtime = runtime;
1919
}
2020

21+
public get id() {
22+
return this._runtime.id;
23+
}
24+
2125
public get logLevel() {
2226
return this._runtime.level;
2327
}
2428

25-
public get id() {
26-
return this._runtime.id;
2729
}
2830

2931
public trace(message: LogMessageType, exceptionOrArgs?: ExceptionType | ArgumentsType, args?: ArgumentsType): void {

core/src/typescript/main/core/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {LogChannel} from "./api/LogChannel";
99
/* Export the API */
1010
export {LogChannel} from "./api/LogChannel";
1111
export {Logger} from "./api/Logger";
12+
export {LogId} from "./api/LogId";
1213
export {LogLevel} from "./api/LogLevel";
1314
export {LogMessage} from "./api/LogMessage";
1415
export {LogProvider} from "./api/LogProvider";

core/src/typescript/test/TestCoreLogger.spec.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {ArrayLogChannel, ArrayRawLogChannel} from "./TestClasses";
44

55
describe("Test core logger", () => {
66

7-
test ("Test logger level", () => {
7+
test("Test logger level", () => {
88
assertLogLevels(LogLevel.Trace);
99
assertLogLevels(LogLevel.Debug);
1010
assertLogLevels(LogLevel.Info);
@@ -13,11 +13,12 @@ describe("Test core logger", () => {
1313
assertLogLevels(LogLevel.Fatal);
1414
});
1515

16-
test ("Test formatting", () => {
16+
test("Test formatting", () => {
1717
const channel = new ArrayRawLogChannel();
1818
const log = new LoggerImpl({
1919
level: LogLevel.Debug,
20-
id: 1, channel,
20+
id: "A",
21+
channel,
2122
name: "Main",
2223
dateFormatter: millis => formatDate(millis),
2324
argumentFormatter: arg => formatArgument(arg),
@@ -40,11 +41,11 @@ describe("Test core logger", () => {
4041
// Formatting with too many args, unused args are ignored.
4142
log.debug(fmt => fmt("Dance: {}", ["Friend", "Foe"]));
4243

43-
expect(channel.messages).toEqual(["Hello", "Dance1", "Hello 2!", `Dance: '2'`, `Dance: '1000' and '2000'`, "Dance: {}", "Dance: {} and {}", `Dance: 'Friend'`]);
44+
expect(channel.messages).toEqual(["Hello", "Dance1", "Hello 2!", `Dance: '2'`, `Dance: '1000' and '2000'`, "Dance: {}", "Dance: {} and {}", `Dance: 'Friend'`]);
4445
expect(channel.errors).toEqual([undefined, new Error("X"), undefined, undefined, undefined, undefined, new Error("y"), undefined]);
4546
});
4647

47-
test ("Test arguments formatting",() => {
48+
test("Test arguments formatting", () => {
4849
const [log, channel] = createDefaultLogger(LogLevel.Debug);
4950

5051
log.debug("Hello!", ["A"]);
@@ -60,7 +61,7 @@ describe("Test core logger", () => {
6061
});
6162

6263
function assertLogLevels(logLevel: LogLevel) {
63-
const input = ["trace","debug","info","warn","error","fatal"];
64+
const input = ["trace", "debug", "info", "warn", "error", "fatal"];
6465
const [log, channel] = createDefaultLogger(logLevel);
6566
log.trace(input[0]);
6667
log.debug(input[1]);
@@ -79,7 +80,7 @@ function createDefaultLogger(level: LogLevel): [logger: LoggerImpl, channel: Arr
7980
const channel = new ArrayLogChannel();
8081
return [new LoggerImpl({
8182
level,
82-
id: 1,
83+
id: "B",
8384
channel,
8485
name: "Main",
8586
dateFormatter: _ => "XXX",

0 commit comments

Comments
 (0)