-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfunctions.js
113 lines (113 loc) · 4.33 KB
/
functions.js
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
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var fs_1 = __importDefault(require("fs"));
var regexp = /^(([^\(]|\s)+)\((.*)\)$/;
function initLog(path) {
var logJson = [];
fs_1.default.readFile(path, function (err, data) {
if (err)
console.log(err);
else {
var jsonData = JSON.parse(data.toString() || "null");
if (Array.isArray(jsonData)) {
logJson = logJson.concat(jsonData);
}
else if (typeof jsonData === 'object' && jsonData != null) {
logJson.push(jsonData);
}
}
});
return logJson;
}
function initFileSize(path) {
var logFileSize = 0;
fs_1.default.readFile(path, function (err, data) {
if (err)
console.log(err);
else {
logFileSize = data.toString().length;
}
});
return logFileSize;
}
function updateLog(path, jsonPath, size, time, logJson, isError, server) {
return new Promise(function (resolve, reject) {
fs_1.default.readFile(path, function (err, data) {
if (err)
console.log(err);
else {
var fileChange = data.toString().slice(size);
fileChange = fileChange.replace(/\n/g, '<br>');
if (!isError) {
var logs = fileChange.split('\`');
logs.forEach(function (element) {
console.log(element, 1);
if (element.startsWith("<br>")) {
element = element.slice(4);
}
var match = element.match(regexp);
console.log(match, 2);
if (match) {
var valueArray = [];
if (match[3].length < 8000) {
valueArray.push(match[3]);
}
else {
var temp = match[3];
while (temp.length > 8000) {
valueArray.push(temp.slice(0, 8000));
temp = temp.slice(8000);
}
valueArray.push(temp);
}
var logInstance = {
server: server,
category: 'info',
value: valueArray,
timestamp: time,
title: match[1]
};
logJson.push(logInstance);
}
});
fs_1.default.writeFile(jsonPath, JSON.stringify(logJson), function (err) {
if (err)
console.log(err);
});
}
else {
var valueArray = [];
if (fileChange.length < 8000) {
valueArray.push(fileChange);
}
else {
var temp = fileChange;
while (temp.length > 8000) {
valueArray.push(temp.slice(0, 8000));
temp = temp.slice(8000);
}
valueArray.push(temp);
}
var logInstance = {
server: server,
category: 'error',
value: valueArray,
timestamp: time,
title: 'error'
};
logJson.push(logInstance);
fs_1.default.writeFile(jsonPath, JSON.stringify(logJson), function (err) {
if (err)
console.log(err);
});
}
}
size = data.toString().length;
resolve(size);
});
});
}
module.exports = { initLog: initLog, initFileSize: initFileSize, updateLog: updateLog };