Skip to content

Commit 68bf86d

Browse files
committed
Allow all log levels, only translate number based levels
1 parent 9d86bfd commit 68bf86d

File tree

7 files changed

+16
-89
lines changed

7 files changed

+16
-89
lines changed

packages/bunyan/src/helpers.ts

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,15 @@
1-
import { LogLevel } from "@logtail/types";
1+
import { LogLevel, ILogLevel } from "@logtail/types";
22

33
/**
44
* Return a Logtail `LogLevel` based on the Bunyan level
55
* @param level string|number - Bunyan log level
66
*/
7-
export function getLogLevel(level: number | string): LogLevel {
7+
export function getLogLevel(level: number | string): ILogLevel {
88
// Are we dealing with a string log level?
99
if (typeof level === "string") {
10-
switch (level.toLowerCase()) {
11-
// Fatal
12-
case "fatal":
13-
return LogLevel.Fatal;
14-
15-
// Error
16-
case "error":
17-
return LogLevel.Error;
18-
19-
// Warn
20-
case "warn":
21-
return LogLevel.Warn;
22-
23-
// Debug
24-
case "debug":
25-
return LogLevel.Debug;
26-
27-
// Trace
28-
case "trace":
29-
return LogLevel.Trace;
30-
31-
}
32-
} else if (typeof level === "number") {
10+
return level.toLowerCase()
11+
}
12+
if (typeof level === "number") {
3313
// Trace
3414
if (level <= 10) {
3515
return LogLevel.Trace;
@@ -54,11 +34,9 @@ export function getLogLevel(level: number | string): LogLevel {
5434
if (level <= 50) {
5535
return LogLevel.Error;
5636
}
57-
5837
// Everything above this level is considered fatal
5938
return LogLevel.Fatal;
6039
}
61-
6240
// By default, return info
6341
return LogLevel.Info;
6442
}

packages/core/src/base.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {
2+
ILogLevel,
23
ILogtailLog,
34
ILogtailOptions,
45
Context,
@@ -154,7 +155,7 @@ class Logtail {
154155
*/
155156
public async log<TContext extends Context>(
156157
message: Message,
157-
level: LogLevel = LogLevel.Info,
158+
level: ILogLevel = LogLevel.Info,
158159
context: TContext = {} as TContext
159160
): Promise<ILogtailLog & TContext> {
160161
// Check that we have a sync function

packages/node/src/node.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { Duplex, Writable } from "stream";
1+
import {Duplex, Writable} from "stream";
22

33
import fetch from "cross-fetch";
4-
import { encode } from "@msgpack/msgpack";
4+
import {encode} from "@msgpack/msgpack";
55

6-
import { ILogtailLog, Context, StackContextHint, ILogtailOptions, LogLevel } from "@logtail/types";
7-
import { Base } from "@logtail/core";
6+
import {Context, ILogLevel, ILogtailLog, ILogtailOptions, LogLevel, StackContextHint} from "@logtail/types";
7+
import {Base} from "@logtail/core";
88

9-
import { getStackContext } from "./context";
9+
import {getStackContext} from "./context";
1010

1111
export class Node extends Base {
1212
/**
@@ -57,7 +57,7 @@ export class Node extends Base {
5757
*/
5858
public async log<TContext extends Context>(
5959
message: string,
60-
level?: LogLevel,
60+
level?: ILogLevel,
6161
context: TContext = {} as TContext,
6262
stackContextHint?: StackContextHint
6363
) {

packages/types/src/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ export interface ILogtailOptions {
4646
contextObjectCircularRefWarn: boolean;
4747
}
4848

49+
export type ILogLevel = LogLevel | string;
4950
export enum LogLevel {
5051
// core log levels - available as functions
5152
Error = "error",
@@ -73,7 +74,7 @@ export type StackContextHint = { fileName: string, methodNames: [string] };
7374
*/
7475
export interface ILogtailLog {
7576
dt: Date;
76-
level: LogLevel;
77+
level: ILogLevel;
7778
message: string;
7879
[key: string]: ContextKey | Context;
7980
}

packages/winston/src/helpers.ts

Lines changed: 0 additions & 47 deletions
This file was deleted.

packages/winston/src/winston.test.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,6 @@ describe("Winston logging tests", () => {
6767
});
6868
}
6969

70-
it("should default to 'info' level when using custom logging", async () => {
71-
return testLevel("xyz", LogLevel.Info, { xyz: 42 });
72-
});
73-
7470
it("should sync multiple logs", async done => {
7571
// Create multiple log entries
7672
const entries: LogEntry[] = [

packages/winston/src/winston.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import Transport from "winston-transport";
33

44
import { Logtail } from "@logtail/node";
55
import {LogLevel, StackContextHint} from "@logtail/types";
6-
import {getLogLevel} from "./helpers";
76

87
const stackContextHint = { fileName: "node_modules/winston", methodNames: [ "log", "error", "warn", "info", "http", "verbose", "debug", "silly" ] };
98

@@ -21,10 +20,9 @@ export class LogtailTransport extends Transport {
2120
const { level, message, ...meta } = info;
2221

2322
// Determine the log level
24-
const logLevel = getLogLevel(level);
2523

2624
// Log out to Logtail
27-
void this._logtail.log(message, logLevel, meta, stackContextHint as StackContextHint);
25+
void this._logtail.log(message, level, meta, stackContextHint as StackContextHint);
2826

2927
// Winston callback...
3028
cb();

0 commit comments

Comments
 (0)