1 | "use strict";
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 | exports.DefaultSidecarRecorderAsync = exports.DefaultSidecarRecorder = exports.DefaultLoggerRecorder = void 0;
|
7 | const EventMessage_1 = require("./model/EventMessage");
|
8 | const config_1 = __importDefault(require("./lib/config"));
|
9 | const Logger = require('./lib/logger');
|
10 | const logWithLevel = async (message) => {
|
11 | return new Promise((resolve, reject) => {
|
12 | try {
|
13 | let type;
|
14 | let action;
|
15 | if (message && ('metadata' in message) && ('event' in message.metadata)) {
|
16 | type = message.metadata.event.type;
|
17 | action = message.metadata.event.action;
|
18 | }
|
19 | else if (message && ('event' in message)) {
|
20 | type = message.event.type;
|
21 | action = message.event.action;
|
22 | }
|
23 | else {
|
24 | type = EventMessage_1.EventType.log;
|
25 | action = EventMessage_1.LogEventAction.info;
|
26 | }
|
27 | if (type === EventMessage_1.EventType.log && Object.values(EventMessage_1.LogEventAction).includes(action)) {
|
28 | Logger.log(action, JSON.stringify(message, null, 2));
|
29 | }
|
30 | else {
|
31 | Logger.log(type, JSON.stringify(message, null, 2));
|
32 | }
|
33 | resolve({ status: EventMessage_1.LogResponseStatus.accepted });
|
34 | }
|
35 | catch (e) {
|
36 | reject({ status: EventMessage_1.LogResponseStatus.error, error: e });
|
37 | }
|
38 | });
|
39 | };
|
40 | class DefaultLoggerRecorder {
|
41 | recorder;
|
42 | constructor(recorder) {
|
43 | this.recorder = recorder ? recorder : Logger;
|
44 | return this;
|
45 | }
|
46 | preProcess = (event) => {
|
47 | if (config_1.default.EVENT_LOGGER_LOG_METADATA_ONLY) {
|
48 | return event.metadata;
|
49 | }
|
50 | return event;
|
51 | };
|
52 | postProcess = (result) => {
|
53 | return result;
|
54 | };
|
55 | async record(event, doLog = true) {
|
56 | if (!doLog) {
|
57 | return Promise.resolve({ status: EventMessage_1.LogResponseStatus.accepted });
|
58 | }
|
59 | let updatedEvent = this.preProcess(event);
|
60 | let result = await logWithLevel(updatedEvent);
|
61 | return this.postProcess(result);
|
62 | }
|
63 | }
|
64 | exports.DefaultLoggerRecorder = DefaultLoggerRecorder;
|
65 | class DefaultSidecarRecorder {
|
66 | recorder;
|
67 | constructor(recorder) {
|
68 | this.recorder = recorder;
|
69 | return this;
|
70 | }
|
71 | preProcess = (event) => {
|
72 | return event;
|
73 | };
|
74 | logLoad = (event) => {
|
75 | if (config_1.default.EVENT_LOGGER_LOG_METADATA_ONLY) {
|
76 | return event.metadata;
|
77 | }
|
78 | return event;
|
79 | };
|
80 | postProcess = (result) => {
|
81 | return result;
|
82 | };
|
83 | async record(event, doLog = true) {
|
84 | doLog && await logWithLevel(this.logLoad(event));
|
85 | let updatedEvent = this.preProcess(event);
|
86 | let result = await this.recorder.log(updatedEvent);
|
87 | return this.postProcess(result);
|
88 | }
|
89 | }
|
90 | exports.DefaultSidecarRecorder = DefaultSidecarRecorder;
|
91 | class DefaultSidecarRecorderAsync {
|
92 | recorder;
|
93 | constructor(recorder) {
|
94 | this.recorder = recorder;
|
95 | return this;
|
96 | }
|
97 | preProcess = (event) => {
|
98 | return event;
|
99 | };
|
100 | logLoad = (event) => {
|
101 | if (config_1.default.EVENT_LOGGER_LOG_METADATA_ONLY) {
|
102 | return event.metadata;
|
103 | }
|
104 | return event;
|
105 | };
|
106 | async record(event, doLog = true, callback) {
|
107 | doLog && logWithLevel(this.logLoad(event));
|
108 | let updatedEvent = this.preProcess(event);
|
109 | let result = this.recorder.log(updatedEvent);
|
110 | if (callback) {
|
111 | return callback(result);
|
112 | }
|
113 | else {
|
114 | return result;
|
115 | }
|
116 | }
|
117 | }
|
118 | exports.DefaultSidecarRecorderAsync = DefaultSidecarRecorderAsync;
|
119 |
|
\ | No newline at end of file |