@rawnodes/logger 1.6.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +425 -147
- package/dist/index.d.mts +151 -3
- package/dist/index.d.ts +151 -3
- package/dist/index.js +538 -25
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +532 -26
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -2
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import TransportStream from 'winston-transport';
|
|
2
|
+
|
|
1
3
|
declare const LOG_LEVELS: {
|
|
4
|
+
readonly off: -1;
|
|
2
5
|
readonly error: 0;
|
|
3
6
|
readonly warn: 1;
|
|
4
7
|
readonly info: 2;
|
|
@@ -11,11 +14,21 @@ type LogLevel = keyof typeof LOG_LEVELS;
|
|
|
11
14
|
declare function isValidLogLevel(level: string): level is LogLevel;
|
|
12
15
|
declare function assertLogLevel(level: string): asserts level is LogLevel;
|
|
13
16
|
type LogFormat = 'json' | 'plain' | 'logfmt' | 'simple';
|
|
17
|
+
interface LevelRule {
|
|
18
|
+
match: Record<string, unknown> & {
|
|
19
|
+
context?: string;
|
|
20
|
+
};
|
|
21
|
+
level: LogLevel;
|
|
22
|
+
}
|
|
14
23
|
interface ConsoleConfig {
|
|
15
24
|
format: LogFormat;
|
|
25
|
+
level?: LogLevel;
|
|
26
|
+
rules?: LevelRule[];
|
|
16
27
|
}
|
|
17
28
|
interface FileConfig {
|
|
18
29
|
format: LogFormat;
|
|
30
|
+
level?: LogLevel;
|
|
31
|
+
rules?: LevelRule[];
|
|
19
32
|
dirname: string;
|
|
20
33
|
filename: string;
|
|
21
34
|
datePattern?: string;
|
|
@@ -23,10 +36,52 @@ interface FileConfig {
|
|
|
23
36
|
maxSize?: string;
|
|
24
37
|
maxFiles?: string;
|
|
25
38
|
}
|
|
39
|
+
interface HttpTransportBaseConfig {
|
|
40
|
+
level?: LogLevel;
|
|
41
|
+
rules?: LevelRule[];
|
|
42
|
+
batchSize?: number;
|
|
43
|
+
flushInterval?: number;
|
|
44
|
+
maxRetries?: number;
|
|
45
|
+
retryDelay?: number;
|
|
46
|
+
}
|
|
47
|
+
interface DiscordConfig extends HttpTransportBaseConfig {
|
|
48
|
+
webhookUrl: string;
|
|
49
|
+
username?: string;
|
|
50
|
+
avatarUrl?: string;
|
|
51
|
+
embedColors?: Partial<Record<LogLevel, number>>;
|
|
52
|
+
includeTimestamp?: boolean;
|
|
53
|
+
includeMeta?: boolean;
|
|
54
|
+
maxEmbedFields?: number;
|
|
55
|
+
}
|
|
56
|
+
interface TelegramConfig extends HttpTransportBaseConfig {
|
|
57
|
+
botToken: string;
|
|
58
|
+
chatId: string | number;
|
|
59
|
+
parseMode?: 'Markdown' | 'MarkdownV2' | 'HTML';
|
|
60
|
+
disableNotification?: boolean;
|
|
61
|
+
threadId?: number;
|
|
62
|
+
replyToMessageId?: number;
|
|
63
|
+
}
|
|
64
|
+
interface CloudWatchConfig extends HttpTransportBaseConfig {
|
|
65
|
+
logGroupName: string;
|
|
66
|
+
logStreamName: string;
|
|
67
|
+
region: string;
|
|
68
|
+
accessKeyId: string;
|
|
69
|
+
secretAccessKey: string;
|
|
70
|
+
createLogGroup?: boolean;
|
|
71
|
+
createLogStream?: boolean;
|
|
72
|
+
}
|
|
73
|
+
interface LevelConfigObject {
|
|
74
|
+
default: LogLevel;
|
|
75
|
+
rules?: LevelRule[];
|
|
76
|
+
}
|
|
77
|
+
type LevelConfig = LogLevel | LevelConfigObject;
|
|
26
78
|
interface LoggerConfig {
|
|
27
|
-
level:
|
|
79
|
+
level: LevelConfig;
|
|
28
80
|
console: ConsoleConfig;
|
|
29
81
|
file?: FileConfig;
|
|
82
|
+
discord?: DiscordConfig;
|
|
83
|
+
telegram?: TelegramConfig;
|
|
84
|
+
cloudwatch?: CloudWatchConfig;
|
|
30
85
|
}
|
|
31
86
|
type LoggerContext = Record<string, unknown>;
|
|
32
87
|
type LevelOverrideMatch<TContext extends LoggerContext> = Partial<TContext> & {
|
|
@@ -35,6 +90,7 @@ type LevelOverrideMatch<TContext extends LoggerContext> = Partial<TContext> & {
|
|
|
35
90
|
interface LevelOverride<TContext extends LoggerContext> {
|
|
36
91
|
match: LevelOverrideMatch<TContext>;
|
|
37
92
|
level: LogLevel;
|
|
93
|
+
readonly?: boolean;
|
|
38
94
|
}
|
|
39
95
|
type Meta = object | (() => object);
|
|
40
96
|
|
|
@@ -52,7 +108,7 @@ declare class Logger<TContext extends LoggerContext = LoggerContext> {
|
|
|
52
108
|
for(context: string): Logger<TContext>;
|
|
53
109
|
getStore(): LoggerStore<TContext>;
|
|
54
110
|
setLevelOverride(match: LevelOverrideMatch<TContext>, level: LogLevel): void;
|
|
55
|
-
removeLevelOverride(match: LevelOverrideMatch<TContext>):
|
|
111
|
+
removeLevelOverride(match: LevelOverrideMatch<TContext>): boolean;
|
|
56
112
|
clearLevelOverrides(): void;
|
|
57
113
|
getLevelOverrides(): LevelOverride<TContext>[];
|
|
58
114
|
profile(id: string, meta?: object): void;
|
|
@@ -78,6 +134,98 @@ interface SingletonLogger<TContext extends LoggerContext> {
|
|
|
78
134
|
}
|
|
79
135
|
declare function createSingletonLogger<TContext extends LoggerContext = LoggerContext>(): SingletonLogger<TContext>;
|
|
80
136
|
|
|
137
|
+
declare function matchesContext(storeContext: LoggerContext | undefined, loggerContext: string | undefined, match: Record<string, unknown> & {
|
|
138
|
+
context?: string;
|
|
139
|
+
}): boolean;
|
|
140
|
+
|
|
141
|
+
interface BufferedMessage {
|
|
142
|
+
level: LogLevel;
|
|
143
|
+
message: string;
|
|
144
|
+
timestamp: Date;
|
|
145
|
+
context?: string;
|
|
146
|
+
meta?: Record<string, unknown>;
|
|
147
|
+
}
|
|
148
|
+
interface BufferOptions {
|
|
149
|
+
batchSize: number;
|
|
150
|
+
flushInterval: number;
|
|
151
|
+
maxRetries: number;
|
|
152
|
+
retryDelay: number;
|
|
153
|
+
onFlush: (messages: BufferedMessage[]) => Promise<void>;
|
|
154
|
+
onError?: (error: Error, messages: BufferedMessage[]) => void;
|
|
155
|
+
}
|
|
156
|
+
declare class MessageBuffer {
|
|
157
|
+
private options;
|
|
158
|
+
private queue;
|
|
159
|
+
private timer;
|
|
160
|
+
private flushing;
|
|
161
|
+
private closed;
|
|
162
|
+
constructor(options: BufferOptions);
|
|
163
|
+
add(message: BufferedMessage): void;
|
|
164
|
+
flush(): Promise<void>;
|
|
165
|
+
close(): Promise<void>;
|
|
166
|
+
private scheduleFlush;
|
|
167
|
+
private clearTimer;
|
|
168
|
+
private sendWithRetry;
|
|
169
|
+
private delay;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
interface BaseHttpTransportOptions {
|
|
173
|
+
batchSize?: number;
|
|
174
|
+
flushInterval?: number;
|
|
175
|
+
maxRetries?: number;
|
|
176
|
+
retryDelay?: number;
|
|
177
|
+
}
|
|
178
|
+
declare abstract class BaseHttpTransport extends TransportStream {
|
|
179
|
+
protected buffer: MessageBuffer;
|
|
180
|
+
constructor(opts?: BaseHttpTransportOptions);
|
|
181
|
+
log(info: Record<string, unknown>, callback: () => void): void;
|
|
182
|
+
close(): Promise<void>;
|
|
183
|
+
protected transformMessage(info: Record<string, unknown>): BufferedMessage;
|
|
184
|
+
protected handleError(error: Error, messages: BufferedMessage[]): void;
|
|
185
|
+
protected abstract sendBatch(messages: BufferedMessage[]): Promise<void>;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
declare class DiscordTransport extends BaseHttpTransport {
|
|
189
|
+
private config;
|
|
190
|
+
constructor(config: DiscordConfig);
|
|
191
|
+
protected sendBatch(messages: BufferedMessage[]): Promise<void>;
|
|
192
|
+
private createEmbed;
|
|
193
|
+
private metaToFields;
|
|
194
|
+
private sendWebhook;
|
|
195
|
+
private chunkArray;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
declare class TelegramTransport extends BaseHttpTransport {
|
|
199
|
+
private config;
|
|
200
|
+
private apiUrl;
|
|
201
|
+
constructor(config: TelegramConfig);
|
|
202
|
+
protected sendBatch(messages: BufferedMessage[]): Promise<void>;
|
|
203
|
+
private formatBatchMessage;
|
|
204
|
+
private formatMarkdown;
|
|
205
|
+
private formatHtml;
|
|
206
|
+
private shouldMute;
|
|
207
|
+
private sendMessage;
|
|
208
|
+
private escapeMarkdownV2;
|
|
209
|
+
private escapeHtml;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
declare class CloudWatchTransport extends BaseHttpTransport {
|
|
213
|
+
private config;
|
|
214
|
+
private client;
|
|
215
|
+
private sequenceToken;
|
|
216
|
+
private initialized;
|
|
217
|
+
private initPromise;
|
|
218
|
+
constructor(config: CloudWatchConfig);
|
|
219
|
+
protected sendBatch(messages: BufferedMessage[]): Promise<void>;
|
|
220
|
+
private ensureInitialized;
|
|
221
|
+
private initialize;
|
|
222
|
+
private createLogGroupIfNotExists;
|
|
223
|
+
private createLogStreamIfNotExists;
|
|
224
|
+
private fetchSequenceToken;
|
|
225
|
+
private isResourceAlreadyExistsError;
|
|
226
|
+
private isInvalidSequenceTokenError;
|
|
227
|
+
}
|
|
228
|
+
|
|
81
229
|
interface TimingResult {
|
|
82
230
|
label: string;
|
|
83
231
|
durationMs: number;
|
|
@@ -112,4 +260,4 @@ declare function flattenObject(obj: Record<string, unknown>, prefix?: string): R
|
|
|
112
260
|
declare function formatLogfmtValue(value: unknown): string;
|
|
113
261
|
declare function formatLogfmt(data: Record<string, unknown>): string;
|
|
114
262
|
|
|
115
|
-
export { type ConsoleConfig, type FileConfig, LOG_LEVELS, type LevelOverride, type LevelOverrideMatch, type LogFormat, type LogLevel, Logger, type LoggerConfig, type LoggerContext, LoggerStore, type MaskSecretsOptions, type Meta, type RequestIdOptions, type SingletonLogger, type TimingResult, assertLogLevel, createMasker, createSingletonLogger, extractRequestId, flattenObject, formatLogfmt, formatLogfmtValue, generateRequestId, getOrGenerateRequestId, isValidLogLevel, maskSecrets, measureAsync, measureSync };
|
|
263
|
+
export { BaseHttpTransport, type BaseHttpTransportOptions, type BufferOptions, type BufferedMessage, type CloudWatchConfig, CloudWatchTransport, type ConsoleConfig, type DiscordConfig, DiscordTransport, type FileConfig, type HttpTransportBaseConfig, LOG_LEVELS, type LevelConfig, type LevelConfigObject, type LevelOverride, type LevelOverrideMatch, type LevelRule, type LogFormat, type LogLevel, Logger, type LoggerConfig, type LoggerContext, LoggerStore, type MaskSecretsOptions, MessageBuffer, type Meta, type RequestIdOptions, type SingletonLogger, type TelegramConfig, TelegramTransport, type TimingResult, assertLogLevel, createMasker, createSingletonLogger, extractRequestId, flattenObject, formatLogfmt, formatLogfmtValue, generateRequestId, getOrGenerateRequestId, isValidLogLevel, maskSecrets, matchesContext, measureAsync, measureSync };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import TransportStream from 'winston-transport';
|
|
2
|
+
|
|
1
3
|
declare const LOG_LEVELS: {
|
|
4
|
+
readonly off: -1;
|
|
2
5
|
readonly error: 0;
|
|
3
6
|
readonly warn: 1;
|
|
4
7
|
readonly info: 2;
|
|
@@ -11,11 +14,21 @@ type LogLevel = keyof typeof LOG_LEVELS;
|
|
|
11
14
|
declare function isValidLogLevel(level: string): level is LogLevel;
|
|
12
15
|
declare function assertLogLevel(level: string): asserts level is LogLevel;
|
|
13
16
|
type LogFormat = 'json' | 'plain' | 'logfmt' | 'simple';
|
|
17
|
+
interface LevelRule {
|
|
18
|
+
match: Record<string, unknown> & {
|
|
19
|
+
context?: string;
|
|
20
|
+
};
|
|
21
|
+
level: LogLevel;
|
|
22
|
+
}
|
|
14
23
|
interface ConsoleConfig {
|
|
15
24
|
format: LogFormat;
|
|
25
|
+
level?: LogLevel;
|
|
26
|
+
rules?: LevelRule[];
|
|
16
27
|
}
|
|
17
28
|
interface FileConfig {
|
|
18
29
|
format: LogFormat;
|
|
30
|
+
level?: LogLevel;
|
|
31
|
+
rules?: LevelRule[];
|
|
19
32
|
dirname: string;
|
|
20
33
|
filename: string;
|
|
21
34
|
datePattern?: string;
|
|
@@ -23,10 +36,52 @@ interface FileConfig {
|
|
|
23
36
|
maxSize?: string;
|
|
24
37
|
maxFiles?: string;
|
|
25
38
|
}
|
|
39
|
+
interface HttpTransportBaseConfig {
|
|
40
|
+
level?: LogLevel;
|
|
41
|
+
rules?: LevelRule[];
|
|
42
|
+
batchSize?: number;
|
|
43
|
+
flushInterval?: number;
|
|
44
|
+
maxRetries?: number;
|
|
45
|
+
retryDelay?: number;
|
|
46
|
+
}
|
|
47
|
+
interface DiscordConfig extends HttpTransportBaseConfig {
|
|
48
|
+
webhookUrl: string;
|
|
49
|
+
username?: string;
|
|
50
|
+
avatarUrl?: string;
|
|
51
|
+
embedColors?: Partial<Record<LogLevel, number>>;
|
|
52
|
+
includeTimestamp?: boolean;
|
|
53
|
+
includeMeta?: boolean;
|
|
54
|
+
maxEmbedFields?: number;
|
|
55
|
+
}
|
|
56
|
+
interface TelegramConfig extends HttpTransportBaseConfig {
|
|
57
|
+
botToken: string;
|
|
58
|
+
chatId: string | number;
|
|
59
|
+
parseMode?: 'Markdown' | 'MarkdownV2' | 'HTML';
|
|
60
|
+
disableNotification?: boolean;
|
|
61
|
+
threadId?: number;
|
|
62
|
+
replyToMessageId?: number;
|
|
63
|
+
}
|
|
64
|
+
interface CloudWatchConfig extends HttpTransportBaseConfig {
|
|
65
|
+
logGroupName: string;
|
|
66
|
+
logStreamName: string;
|
|
67
|
+
region: string;
|
|
68
|
+
accessKeyId: string;
|
|
69
|
+
secretAccessKey: string;
|
|
70
|
+
createLogGroup?: boolean;
|
|
71
|
+
createLogStream?: boolean;
|
|
72
|
+
}
|
|
73
|
+
interface LevelConfigObject {
|
|
74
|
+
default: LogLevel;
|
|
75
|
+
rules?: LevelRule[];
|
|
76
|
+
}
|
|
77
|
+
type LevelConfig = LogLevel | LevelConfigObject;
|
|
26
78
|
interface LoggerConfig {
|
|
27
|
-
level:
|
|
79
|
+
level: LevelConfig;
|
|
28
80
|
console: ConsoleConfig;
|
|
29
81
|
file?: FileConfig;
|
|
82
|
+
discord?: DiscordConfig;
|
|
83
|
+
telegram?: TelegramConfig;
|
|
84
|
+
cloudwatch?: CloudWatchConfig;
|
|
30
85
|
}
|
|
31
86
|
type LoggerContext = Record<string, unknown>;
|
|
32
87
|
type LevelOverrideMatch<TContext extends LoggerContext> = Partial<TContext> & {
|
|
@@ -35,6 +90,7 @@ type LevelOverrideMatch<TContext extends LoggerContext> = Partial<TContext> & {
|
|
|
35
90
|
interface LevelOverride<TContext extends LoggerContext> {
|
|
36
91
|
match: LevelOverrideMatch<TContext>;
|
|
37
92
|
level: LogLevel;
|
|
93
|
+
readonly?: boolean;
|
|
38
94
|
}
|
|
39
95
|
type Meta = object | (() => object);
|
|
40
96
|
|
|
@@ -52,7 +108,7 @@ declare class Logger<TContext extends LoggerContext = LoggerContext> {
|
|
|
52
108
|
for(context: string): Logger<TContext>;
|
|
53
109
|
getStore(): LoggerStore<TContext>;
|
|
54
110
|
setLevelOverride(match: LevelOverrideMatch<TContext>, level: LogLevel): void;
|
|
55
|
-
removeLevelOverride(match: LevelOverrideMatch<TContext>):
|
|
111
|
+
removeLevelOverride(match: LevelOverrideMatch<TContext>): boolean;
|
|
56
112
|
clearLevelOverrides(): void;
|
|
57
113
|
getLevelOverrides(): LevelOverride<TContext>[];
|
|
58
114
|
profile(id: string, meta?: object): void;
|
|
@@ -78,6 +134,98 @@ interface SingletonLogger<TContext extends LoggerContext> {
|
|
|
78
134
|
}
|
|
79
135
|
declare function createSingletonLogger<TContext extends LoggerContext = LoggerContext>(): SingletonLogger<TContext>;
|
|
80
136
|
|
|
137
|
+
declare function matchesContext(storeContext: LoggerContext | undefined, loggerContext: string | undefined, match: Record<string, unknown> & {
|
|
138
|
+
context?: string;
|
|
139
|
+
}): boolean;
|
|
140
|
+
|
|
141
|
+
interface BufferedMessage {
|
|
142
|
+
level: LogLevel;
|
|
143
|
+
message: string;
|
|
144
|
+
timestamp: Date;
|
|
145
|
+
context?: string;
|
|
146
|
+
meta?: Record<string, unknown>;
|
|
147
|
+
}
|
|
148
|
+
interface BufferOptions {
|
|
149
|
+
batchSize: number;
|
|
150
|
+
flushInterval: number;
|
|
151
|
+
maxRetries: number;
|
|
152
|
+
retryDelay: number;
|
|
153
|
+
onFlush: (messages: BufferedMessage[]) => Promise<void>;
|
|
154
|
+
onError?: (error: Error, messages: BufferedMessage[]) => void;
|
|
155
|
+
}
|
|
156
|
+
declare class MessageBuffer {
|
|
157
|
+
private options;
|
|
158
|
+
private queue;
|
|
159
|
+
private timer;
|
|
160
|
+
private flushing;
|
|
161
|
+
private closed;
|
|
162
|
+
constructor(options: BufferOptions);
|
|
163
|
+
add(message: BufferedMessage): void;
|
|
164
|
+
flush(): Promise<void>;
|
|
165
|
+
close(): Promise<void>;
|
|
166
|
+
private scheduleFlush;
|
|
167
|
+
private clearTimer;
|
|
168
|
+
private sendWithRetry;
|
|
169
|
+
private delay;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
interface BaseHttpTransportOptions {
|
|
173
|
+
batchSize?: number;
|
|
174
|
+
flushInterval?: number;
|
|
175
|
+
maxRetries?: number;
|
|
176
|
+
retryDelay?: number;
|
|
177
|
+
}
|
|
178
|
+
declare abstract class BaseHttpTransport extends TransportStream {
|
|
179
|
+
protected buffer: MessageBuffer;
|
|
180
|
+
constructor(opts?: BaseHttpTransportOptions);
|
|
181
|
+
log(info: Record<string, unknown>, callback: () => void): void;
|
|
182
|
+
close(): Promise<void>;
|
|
183
|
+
protected transformMessage(info: Record<string, unknown>): BufferedMessage;
|
|
184
|
+
protected handleError(error: Error, messages: BufferedMessage[]): void;
|
|
185
|
+
protected abstract sendBatch(messages: BufferedMessage[]): Promise<void>;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
declare class DiscordTransport extends BaseHttpTransport {
|
|
189
|
+
private config;
|
|
190
|
+
constructor(config: DiscordConfig);
|
|
191
|
+
protected sendBatch(messages: BufferedMessage[]): Promise<void>;
|
|
192
|
+
private createEmbed;
|
|
193
|
+
private metaToFields;
|
|
194
|
+
private sendWebhook;
|
|
195
|
+
private chunkArray;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
declare class TelegramTransport extends BaseHttpTransport {
|
|
199
|
+
private config;
|
|
200
|
+
private apiUrl;
|
|
201
|
+
constructor(config: TelegramConfig);
|
|
202
|
+
protected sendBatch(messages: BufferedMessage[]): Promise<void>;
|
|
203
|
+
private formatBatchMessage;
|
|
204
|
+
private formatMarkdown;
|
|
205
|
+
private formatHtml;
|
|
206
|
+
private shouldMute;
|
|
207
|
+
private sendMessage;
|
|
208
|
+
private escapeMarkdownV2;
|
|
209
|
+
private escapeHtml;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
declare class CloudWatchTransport extends BaseHttpTransport {
|
|
213
|
+
private config;
|
|
214
|
+
private client;
|
|
215
|
+
private sequenceToken;
|
|
216
|
+
private initialized;
|
|
217
|
+
private initPromise;
|
|
218
|
+
constructor(config: CloudWatchConfig);
|
|
219
|
+
protected sendBatch(messages: BufferedMessage[]): Promise<void>;
|
|
220
|
+
private ensureInitialized;
|
|
221
|
+
private initialize;
|
|
222
|
+
private createLogGroupIfNotExists;
|
|
223
|
+
private createLogStreamIfNotExists;
|
|
224
|
+
private fetchSequenceToken;
|
|
225
|
+
private isResourceAlreadyExistsError;
|
|
226
|
+
private isInvalidSequenceTokenError;
|
|
227
|
+
}
|
|
228
|
+
|
|
81
229
|
interface TimingResult {
|
|
82
230
|
label: string;
|
|
83
231
|
durationMs: number;
|
|
@@ -112,4 +260,4 @@ declare function flattenObject(obj: Record<string, unknown>, prefix?: string): R
|
|
|
112
260
|
declare function formatLogfmtValue(value: unknown): string;
|
|
113
261
|
declare function formatLogfmt(data: Record<string, unknown>): string;
|
|
114
262
|
|
|
115
|
-
export { type ConsoleConfig, type FileConfig, LOG_LEVELS, type LevelOverride, type LevelOverrideMatch, type LogFormat, type LogLevel, Logger, type LoggerConfig, type LoggerContext, LoggerStore, type MaskSecretsOptions, type Meta, type RequestIdOptions, type SingletonLogger, type TimingResult, assertLogLevel, createMasker, createSingletonLogger, extractRequestId, flattenObject, formatLogfmt, formatLogfmtValue, generateRequestId, getOrGenerateRequestId, isValidLogLevel, maskSecrets, measureAsync, measureSync };
|
|
263
|
+
export { BaseHttpTransport, type BaseHttpTransportOptions, type BufferOptions, type BufferedMessage, type CloudWatchConfig, CloudWatchTransport, type ConsoleConfig, type DiscordConfig, DiscordTransport, type FileConfig, type HttpTransportBaseConfig, LOG_LEVELS, type LevelConfig, type LevelConfigObject, type LevelOverride, type LevelOverrideMatch, type LevelRule, type LogFormat, type LogLevel, Logger, type LoggerConfig, type LoggerContext, LoggerStore, type MaskSecretsOptions, MessageBuffer, type Meta, type RequestIdOptions, type SingletonLogger, type TelegramConfig, TelegramTransport, type TimingResult, assertLogLevel, createMasker, createSingletonLogger, extractRequestId, flattenObject, formatLogfmt, formatLogfmtValue, generateRequestId, getOrGenerateRequestId, isValidLogLevel, maskSecrets, matchesContext, measureAsync, measureSync };
|