-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathlogger.manager.d.ts
144 lines (144 loc) · 4.09 KB
/
logger.manager.d.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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
import { Log } from "./entities/log";
import { LoggerConfig } from "./entities/LoggerConfig";
/**
* @class LoggerManager
* @classdesc Class LoggerManager representing logging queue manager
* @description Create new instance of logging queue manager
*/
export declare class LoggerManager {
/**
* @member {LoggerConfig} config
* @memberOf LoggerManager
* @description Configuration object
* @public
*/
config: LoggerConfig;
/**
* @member {number} bufferSize
* @memberOf LoggerManager
* @description Logger manager buffer size
* @default 0
* @private
*/
private bufferSize;
/**
* @member {number} addLogStream
* @memberOf LoggerManager
* @description Logger manager logs stream
* @private
*/
private addLogStream;
/**
* @member {Subscription} logStreamSubscription
* @memberOf LoggerManager
* @description Logger manager logs stream subscription object
* @private
*/
private logStreamSubscription;
/**
* @member {Observable<HTTPResponse>} logBulkObs$
* @memberOf LoggerManager
* @description Logs bulk observable instance
* @private
*/
private logBulkObs$;
/**
* @member {Subject<boolean>} pauser$
* @memberOf LoggerManager
* @description Logger manager queue pauser subject
* @default new Subject<boolean>()
* @private
*/
private pauser$;
/**
* @member {Subject<any>} flush$
* @memberOf LoggerManager
* @description Logger manager queue flush subject
* @default new Subject<any>()
* @private
*/
private flush$;
/**
* @member {Promise<void>} flushed
* @memberOf LoggerManager
* @description internal state for when the logs were flushed
* @private
*/
private flushedPromise;
/**
* @member {Promise<void>} () => void
* @memberOf LoggerManager
* @description a resolver for when the flush promise is fulfilled
* @private
*/
private flushPromiseFulfilled;
/**
* @description Initialize new instance of LoggerManager object
*/
constructor();
/**
* @method waitForFlush
* @description waits for all the currently pending to be written to the Coralogix backend
* @memberOf LoggerManager
* @public
* @returns {Promise} returns a promise that settles when all the pending logs have been written
*/
waitForFlush(): Promise<void>;
/**
* @method addLogline
* @description Add log line to logger manager queue
* @memberOf LoggerManager
* @param {Log} log - Log line object instance
* @public
*/
addLogline(log: Log): void;
/**
* @method close
* @description Close logger manager and flush queue
* @memberOf LoggerManager
* @public
*/
close(): void;
/**
* @method flush
* @description Flush logger manager queue
* @memberOf LoggerManager
* @public
*/
flush(): void;
/**
* @method subscribe
* @description Subscribe on logger manager observable events
* @memberOf LoggerManager
* @public
*/
subscribe(): void;
/**
* @method sendBulk
* @description Send logs buffer to Coralogix
* @memberOf LoggerManager
* @param {Log[]} buffer - Logs buffer
* @private
*/
private sendBulk(buffer);
/**
* @method cleanAfterSend
* @description On buffer send completed (success of failed) free the buffer size
* @memberOf LoggerManager
* @param {Log[]} sentBuffer - Logs buffer
* @private
*/
private cleanAfterSend(sentBuffer);
/**
* @method cleanAfterSend
* @description Return an on error observable that will retry
* for "HTTP_SEND_RETRY_COUNT" with a delay
* of "HTTP_SEND_RETRY_INTERVAL" after the max retry
* times are exceed will throw an error
* @memberOf LoggerManager
* @param errors$ - Errors list
* @private
* @returns {Observable<T>} Logger manager observable object
*/
private retryObservable(errors$);
}