1 | "use strict";
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | var coralogix_logger_1 = require("coralogix-logger");
|
10 | var sev_map = {
|
11 | 10: coralogix_logger_1.Severity.debug,
|
12 | 30: coralogix_logger_1.Severity.info,
|
13 | 40: coralogix_logger_1.Severity.warning,
|
14 | 50: coralogix_logger_1.Severity.error,
|
15 | 60: coralogix_logger_1.Severity.critical,
|
16 | 20: coralogix_logger_1.Severity.debug
|
17 | };
|
18 | var CoralogixStream = (function () {
|
19 | function CoralogixStream(options) {
|
20 | if (!options)
|
21 | options = {};
|
22 | CoralogixStream.logger = this.logger = new coralogix_logger_1.CoralogixLogger(options.category);
|
23 | }
|
24 | CoralogixStream.waitForFlush = function() {
|
25 | return CoralogixStream.logger.waitForFlush();
|
26 | }
|
27 | CoralogixStream.prototype.write = function (rec) {
|
28 | var log = new coralogix_logger_1.Log();
|
29 | log.severity = sev_map[rec.level];
|
30 | log.category = rec.category;
|
31 | if (rec.className)
|
32 | log.className = rec.className;
|
33 | if (rec.methodName)
|
34 | log.methodName = rec.methodName;
|
35 | if (rec.threadId)
|
36 | log.threadId = rec.threadId;
|
37 | log.text = this.removeStaticFields(rec);
|
38 | this.logger.addLog(log);
|
39 | };
|
40 | CoralogixStream.prototype.removeStaticFields = function (json) {
|
41 | delete json.threadId;
|
42 | delete json.methodName;
|
43 | delete json.className;
|
44 | delete json.category;
|
45 | return JSON.stringify(json, this.replaceErrors);
|
46 | };
|
47 | CoralogixStream.prototype.replaceErrors = function (key, value) {
|
48 | if (value instanceof Error) {
|
49 | var error = {};
|
50 | Object.getOwnPropertyNames(value).forEach(function (key) {
|
51 | error[key] = value[key];
|
52 | });
|
53 | return error;
|
54 | }
|
55 | return value;
|
56 | };
|
57 | CoralogixStream.configure = function (config) {
|
58 | coralogix_logger_1.CoralogixLogger.configure(config);
|
59 | };
|
60 | return CoralogixStream;
|
61 | }());
|
62 | module.exports = { CoralogixStream }
|