/
ILogger.ts
126 lines (107 loc) · 3.47 KB
/
ILogger.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import { LogLevel } from "../../model/logging/LogLevel"
export type LogFormat = "string" | "json"
/**
* Describes a generic logging implementation.
*/
export interface ILogger {
/**
* See [[ServerLoggerConfig]]
*/
readonly level: LogLevel
/**
* See [[ServerLoggerConfig]]
*/
readonly format: LogFormat
/**
* Log a message with a custom level.
*
* @param level Level of the log message.
* @param message String which can contain `sprintf` style format placeholders.
* @param formatArgs (Optional) Arguments which are passed to `sprintf` to format the message.
*/
log(level: LogLevel, message: string, ...formatArgs: any[])
/**
* Log a trace level message.
*
* @param message String which can contain `sprintf` style format placeholders.
* @param formatArgs (Optional) Arguments which are passed to `sprintf` to format the message.
*/
trace(message: string, ...formatArgs: any[])
/**
* Log a debug level message.
*
* @param message String which can contain `sprintf` style format placeholders.
* @param formatArgs (Optional) Arguments which are passed to `sprintf` to format the message.
*/
debug(message: string, ...formatArgs: any[])
/**
* Log a info level message.
*
* @param message String which can contain `sprintf` style format placeholders.
* @param formatArgs (Optional) Arguments which are passed to `sprintf` to format the message.
*/
info(message: string, ...formatArgs: any[])
/**
* Log a warn trace level message.
*
* @param message String which can contain `sprintf` style format placeholders.
* @param formatArgs (Optional) Arguments which are passed to `sprintf` to format the message.
*/
warn(message: string, ...formatArgs: any[])
/**
* Log a error level message.
*
* @param message String which can contain `sprintf` style format placeholders.
* @param formatArgs (Optional) Arguments which are passed to `sprintf` to format the message.
*/
error(message: string, ...formatArgs: any[])
/**
* Log a error level message with an associated error and stack trace.
*
* @param message String which can contain `sprintf` style format placeholders.
* @param ex Error object associated with this error message.
* @param formatArgs (Optional) Arguments which are passed to `sprintf` to format the message.
*/
errorWithStack(message: string, ex: Error, ...formatArgs: any[])
/**
* Log a fatal level message.
*
* @param message String which can contain `sprintf` style format placeholders.
* @param formatArgs (Optional) Arguments which are passed to `sprintf` to format the message.
*/
fatal(message: string, ...formatArgs: any[])
/**
* Is a given log level enabled?
*
* @param level Level to check.
*/
levelEnabled(level: LogLevel): boolean
/**
* Is trace log level enabled?
*/
traceEnabled(): boolean
/**
* Is debug log level enabled?
*/
debugEnabled(): boolean
/**
* Is info log level enabled?
*/
infoEnabled(): boolean
/**
* Is warn log level enabled?
*/
warnEnabled(): boolean
/**
* Is error log level enabled?
*/
errorEnabled(): boolean
/**
* Is fatal log level enabled?
*/
fatalEnabled(): boolean
/**
* Is the current log level `off`?
*/
isOff(): boolean
}