UNPKG

3.38 kBTypeScriptView Raw
1/**
2 * Log levels to indicate importance of the logged message.
3 * Every level corresponds to a certain color.
4 *
5 * - INFO: no color
6 * - SUCCESS: green
7 * - WARN: yellow
8 * - ERROR: red
9 * - DEBUG: gray
10 *
11 * Messages with DEBUG level are only displayed if explicitly enabled.
12 */
13export declare const enum LogLevel {
14 INFO = "info",
15 SUCCESS = "success",
16 WARN = "warn",
17 ERROR = "error",
18 DEBUG = "debug"
19}
20/**
21 * Represents a logging device which can be used directly as a function (for INFO logging)
22 * but also has dedicated logging functions for respective logging levels.
23 */
24export interface Logging {
25 prefix: string;
26 (message: string, ...parameters: any[]): void;
27 info(message: string, ...parameters: any[]): void;
28 success(message: string, ...parameters: any[]): void;
29 warn(message: string, ...parameters: any[]): void;
30 error(message: string, ...parameters: any[]): void;
31 debug(message: string, ...parameters: any[]): void;
32 log(level: LogLevel, message: string, ...parameters: any[]): void;
33}
34/**
35 * Logger class
36 */
37export declare class Logger {
38 static readonly internal: Logger;
39 private static readonly loggerCache;
40 private static debugEnabled;
41 private static timestampEnabled;
42 readonly prefix?: string;
43 constructor(prefix?: string);
44 /**
45 * Creates a new Logging device with a specified prefix.
46 *
47 * @param prefix {string} - the prefix of the logger
48 */
49 static withPrefix(prefix: string): Logging;
50 /**
51 * Turns on debug level logging. Off by default.
52 *
53 * @param enabled {boolean}
54 */
55 static setDebugEnabled(enabled?: boolean): void;
56 /**
57 * Turns on inclusion of timestamps in log messages. On by default.
58 *
59 * @param enabled {boolean}
60 */
61 static setTimestampEnabled(enabled?: boolean): void;
62 /**
63 * Forces color in logging output, even if it seems like color is unsupported.
64 */
65 static forceColor(): void;
66 info(message: string, ...parameters: any[]): void;
67 success(message: string, ...parameters: any[]): void;
68 warn(message: string, ...parameters: any[]): void;
69 error(message: string, ...parameters: any[]): void;
70 debug(message: string, ...parameters: any[]): void;
71 log(level: LogLevel, message: string, ...parameters: any[]): void;
72}
73/**
74 * Creates a new Logging device with a specified prefix.
75 *
76 * @param prefix {string} - the prefix of the logger
77 * @deprecated please use {@link Logger.withPrefix} directly
78 */
79export declare function withPrefix(prefix: string): Logging;
80/**
81 * Gets the prefix
82 * @param prefix
83 */
84export declare function getLogPrefix(prefix: string): string;
85/**
86 * Turns on debug level logging. Off by default.
87 *
88 * @param enabled {boolean}
89 * @deprecated please use {@link Logger.setDebugEnabled} directly
90 */
91export declare function setDebugEnabled(enabled?: boolean): void;
92/**
93 * Turns on inclusion of timestamps in log messages. On by default.
94 *
95 * @param enabled {boolean}
96 * @deprecated please use {@link Logger.setTimestampEnabled} directly
97 */
98export declare function setTimestampEnabled(enabled?: boolean): void;
99/**
100 * Forces color in logging output, even if it seems like color is unsupported.
101 *
102 * @deprecated please use {@link Logger.forceColor} directly
103 */
104export declare function forceColor(): void;
105//# sourceMappingURL=logger.d.ts.map
\No newline at end of file