@l-v-yonsama/multi-platform-database-drivers 0.11.15 → 0.13.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +5 -0
  2. package/built/schema/log-parse-config.schema.json +406 -0
  3. package/built/src/drivers/aws/AwsServiceClient.js +0 -1
  4. package/built/src/drivers/aws/AwsServiceClient.js.map +1 -1
  5. package/built/src/drivers/memcache/helper.js +1 -1
  6. package/built/src/drivers/memcache/helper.js.map +1 -1
  7. package/built/src/helpers/SQLHelper.d.ts +7 -2
  8. package/built/src/helpers/SQLHelper.js +41 -4
  9. package/built/src/helpers/SQLHelper.js.map +1 -1
  10. package/built/src/types/helpers/index.d.ts +2 -0
  11. package/built/src/types/helpers/index.js +3 -1
  12. package/built/src/types/helpers/index.js.map +1 -1
  13. package/built/src/types/index.d.ts +1 -0
  14. package/built/src/types/index.js +1 -0
  15. package/built/src/types/index.js.map +1 -1
  16. package/built/src/types/utils/index.d.ts +187 -0
  17. package/built/src/types/utils/index.js +29 -0
  18. package/built/src/types/utils/index.js.map +1 -0
  19. package/built/src/utils/index.d.ts +1 -0
  20. package/built/src/utils/index.js +1 -0
  21. package/built/src/utils/index.js.map +1 -1
  22. package/built/src/utils/log/LogParser.d.ts +8 -0
  23. package/built/src/utils/log/LogParser.js +163 -0
  24. package/built/src/utils/log/LogParser.js.map +1 -0
  25. package/built/src/utils/log/buildSqlExecutions.d.ts +7 -0
  26. package/built/src/utils/log/buildSqlExecutions.js +267 -0
  27. package/built/src/utils/log/buildSqlExecutions.js.map +1 -0
  28. package/built/src/utils/log/classify/classifyEvent.d.ts +3 -0
  29. package/built/src/utils/log/classify/classifyEvent.js +91 -0
  30. package/built/src/utils/log/classify/classifyEvent.js.map +1 -0
  31. package/built/src/utils/log/constant/base.d.ts +97 -0
  32. package/built/src/utils/log/constant/base.js +136 -0
  33. package/built/src/utils/log/constant/base.js.map +1 -0
  34. package/built/src/utils/log/constant/index.d.ts +3 -0
  35. package/built/src/utils/log/constant/index.js +7 -0
  36. package/built/src/utils/log/constant/index.js.map +1 -0
  37. package/built/src/utils/log/constant/logEventSplitPreset.d.ts +34 -0
  38. package/built/src/utils/log/constant/logEventSplitPreset.js +299 -0
  39. package/built/src/utils/log/constant/logEventSplitPreset.js.map +1 -0
  40. package/built/src/utils/log/constant/sqlLogParsePreset.d.ts +328 -0
  41. package/built/src/utils/log/constant/sqlLogParsePreset.js +383 -0
  42. package/built/src/utils/log/constant/sqlLogParsePreset.js.map +1 -0
  43. package/built/src/utils/log/detect/presetDetector.d.ts +11 -0
  44. package/built/src/utils/log/detect/presetDetector.js +140 -0
  45. package/built/src/utils/log/detect/presetDetector.js.map +1 -0
  46. package/built/src/utils/log/extract/runExtractors.d.ts +2 -0
  47. package/built/src/utils/log/extract/runExtractors.js +105 -0
  48. package/built/src/utils/log/extract/runExtractors.js.map +1 -0
  49. package/built/src/utils/log/index.d.ts +10 -0
  50. package/built/src/utils/log/index.js +14 -0
  51. package/built/src/utils/log/index.js.map +1 -0
  52. package/built/src/utils/log/logSummary.d.ts +6 -0
  53. package/built/src/utils/log/logSummary.js +91 -0
  54. package/built/src/utils/log/logSummary.js.map +1 -0
  55. package/built/src/utils/log/pattern/logEventPattern.d.ts +3 -0
  56. package/built/src/utils/log/pattern/logEventPattern.js +121 -0
  57. package/built/src/utils/log/pattern/logEventPattern.js.map +1 -0
  58. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.d.ts +12 -0
  59. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js +170 -0
  60. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js.map +1 -0
  61. package/built/src/utils/log/split/splitLogEvents.d.ts +2 -0
  62. package/built/src/utils/log/split/splitLogEvents.js +38 -0
  63. package/built/src/utils/log/split/splitLogEvents.js.map +1 -0
  64. package/built/src/utils/log/sql/removeSqlComments.d.ts +1 -0
  65. package/built/src/utils/log/sql/removeSqlComments.js +11 -0
  66. package/built/src/utils/log/sql/removeSqlComments.js.map +1 -0
  67. package/built/src/utils/log/validator.d.ts +6 -0
  68. package/built/src/utils/log/validator.js +272 -0
  69. package/built/src/utils/log/validator.js.map +1 -0
  70. package/package.json +15 -7
@@ -0,0 +1,10 @@
1
+ export * from './rdh/convertExtractedSqlRdhResult';
2
+ export * from './LogParser';
3
+ export * from './detect/presetDetector';
4
+ export * from './classify/classifyEvent';
5
+ export * from './extract/runExtractors';
6
+ export * from './pattern/logEventPattern';
7
+ export * from './buildSqlExecutions';
8
+ export * from './constant';
9
+ export * from './validator';
10
+ export * from './logSummary';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./rdh/convertExtractedSqlRdhResult"), exports);
5
+ tslib_1.__exportStar(require("./LogParser"), exports);
6
+ tslib_1.__exportStar(require("./detect/presetDetector"), exports);
7
+ tslib_1.__exportStar(require("./classify/classifyEvent"), exports);
8
+ tslib_1.__exportStar(require("./extract/runExtractors"), exports);
9
+ tslib_1.__exportStar(require("./pattern/logEventPattern"), exports);
10
+ tslib_1.__exportStar(require("./buildSqlExecutions"), exports);
11
+ tslib_1.__exportStar(require("./constant"), exports);
12
+ tslib_1.__exportStar(require("./validator"), exports);
13
+ tslib_1.__exportStar(require("./logSummary"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/log/index.ts"],"names":[],"mappings":";;;AAAA,6EAAmD;AACnD,sDAA4B;AAC5B,kEAAwC;AACxC,mEAAyC;AACzC,kEAAwC;AACxC,oEAA0C;AAC1C,+DAAqC;AACrC,qDAA2B;AAC3B,sDAA4B;AAC5B,uDAA6B"}
@@ -0,0 +1,6 @@
1
+ import { LogClassifierRule, LogEventType, ExtractorConfig, LogParseConfig } from '../../types';
2
+ export declare const EVENT_TYPE_DESCRIPTIONS: Record<LogEventType, string>;
3
+ export declare function summarizeClassifyRules(rules: readonly LogClassifierRule[]): string;
4
+ export declare function summarizeExtractors(extractors: readonly ExtractorConfig[]): string;
5
+ export declare function summarizeExtractorsOneLine(extractors: LogParseConfig['extractors'], maxLen?: number): string;
6
+ export declare function summarizeClassifyRulesOneLine(rules: readonly LogClassifierRule[], maxLen?: number): string;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.summarizeClassifyRulesOneLine = exports.summarizeExtractorsOneLine = exports.summarizeExtractors = exports.summarizeClassifyRules = exports.EVENT_TYPE_DESCRIPTIONS = void 0;
4
+ exports.EVENT_TYPE_DESCRIPTIONS = {
5
+ DATA_SOURCE: 'Data source connection',
6
+ CONN_AUTOCOMMIT: 'Auto-commit connection',
7
+ CONN_TRANSACTIONAL: 'Transactional connection',
8
+ TX_BEGIN: 'Transaction started',
9
+ TX_COMMIT: 'Transaction committed',
10
+ TX_ROLLBACK: 'Transaction rolled back',
11
+ TX_METHOD_ENTER: 'Enter transactional method',
12
+ TX_METHOD_EXIT: 'Exit transactional method',
13
+ SQL_START: 'SQL execution started',
14
+ SQL_PARAMS: 'Bind parameters',
15
+ SQL_COLUMNS: 'Result columns',
16
+ SQL_ROW: 'Result row',
17
+ SQL_RESULT: 'Execution result',
18
+ SQL_SINGLE: 'Single SQL execution',
19
+ SQL_ERROR: 'SQL error',
20
+ SQL_ERROR_DETAIL: 'Error detail log',
21
+ FW_ERROR: 'ORM error',
22
+ DDL: 'DDL execution',
23
+ NORMAL: 'Normal log',
24
+ ERROR: 'Error log',
25
+ };
26
+ function summarizeClassifyRules(rules) {
27
+ return rules
28
+ .map((r, i) => {
29
+ var _a;
30
+ const base = (_a = exports.EVENT_TYPE_DESCRIPTIONS[r.type]) !== null && _a !== void 0 ? _a : r.type;
31
+ const fieldInfo = r.field && r.field !== 'message' ? ` (field: ${r.field})` : '';
32
+ const options = [
33
+ r.transforms ? 'transforms' : null,
34
+ r.context ? 'context' : null,
35
+ r.expandMessage ? 'expand' : null,
36
+ ]
37
+ .filter(Boolean)
38
+ .join(', ');
39
+ const optionInfo = options ? ` [${options}]` : '';
40
+ return `${i + 1}. ${base}${fieldInfo}${optionInfo}`;
41
+ })
42
+ .join('\n');
43
+ }
44
+ exports.summarizeClassifyRules = summarizeClassifyRules;
45
+ function summarizeExtractors(extractors) {
46
+ return extractors
47
+ .map((ex, i) => {
48
+ var _a;
49
+ const header = `${i + 1}. ${ex.name} (${(_a = ex.framework) !== null && _a !== void 0 ? _a : 'custom'})`;
50
+ const steps = ex.steps
51
+ .map((s) => {
52
+ var _a;
53
+ const base = (_a = exports.EVENT_TYPE_DESCRIPTIONS[s.type]) !== null && _a !== void 0 ? _a : s.type;
54
+ const optional = s.optional ? ' (optional)' : '';
55
+ const action = s.action === 'captureField' && s.field
56
+ ? ` → ${s.action}(${s.field})`
57
+ : s.action
58
+ ? ` → ${s.action}`
59
+ : '';
60
+ return ` - ${base}${optional}${action}`;
61
+ })
62
+ .join('\n');
63
+ return `${header}\n${steps}`;
64
+ })
65
+ .join('\n');
66
+ }
67
+ exports.summarizeExtractors = summarizeExtractors;
68
+ function summarizeExtractorsOneLine(extractors, maxLen = 120) {
69
+ const text = extractors
70
+ .map((ex) => {
71
+ const steps = ex.steps
72
+ .map((s) => {
73
+ const optional = s.optional ? '?' : '';
74
+ if (s.action === 'captureField' && s.field) {
75
+ return `${s.type}${optional}→${s.action}(${s.field})`;
76
+ }
77
+ return `${s.type}${optional}→${s.action}`;
78
+ })
79
+ .join(', ');
80
+ return `${ex.name}: ${steps}`;
81
+ })
82
+ .join(' | ');
83
+ return text.length > maxLen ? text.slice(0, maxLen - 3) + '...' : text;
84
+ }
85
+ exports.summarizeExtractorsOneLine = summarizeExtractorsOneLine;
86
+ function summarizeClassifyRulesOneLine(rules, maxLen = 120) {
87
+ const text = rules.map((r) => `${r.type}:${r.pattern}`).join(', ');
88
+ return text.length > maxLen ? text.slice(0, maxLen - 3) + '...' : text;
89
+ }
90
+ exports.summarizeClassifyRulesOneLine = summarizeClassifyRulesOneLine;
91
+ //# sourceMappingURL=logSummary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logSummary.js","sourceRoot":"","sources":["../../../../src/utils/log/logSummary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CreateLogEventPatternParams } from '../../../types';
2
+ export declare function createLogEventPattern(params: CreateLogEventPatternParams): RegExp;
3
+ export declare function createLogEventPatternText(params: CreateLogEventPatternParams): string;
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLogEventPatternText = exports.createLogEventPattern = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const xregexp_1 = tslib_1.__importDefault(require("xregexp"));
6
+ const base_1 = require("../constant/base");
7
+ function createLogEventPattern(params) {
8
+ const patternText = createLogEventPatternText(params);
9
+ let flag = 'i';
10
+ if (params.fields.some((it) => it.type === 'line-break-literal')) {
11
+ flag += 's';
12
+ }
13
+ return (0, xregexp_1.default)(patternText, flag);
14
+ }
15
+ exports.createLogEventPattern = createLogEventPattern;
16
+ function createLogEventPatternText(params) {
17
+ const { fields, onlyStartMarker, targetForHuman } = params;
18
+ let summary = '';
19
+ const targetFields = onlyStartMarker ? fields.filter((field) => field.eventStartMarker === true) : fields;
20
+ for (let i = 0; i < targetFields.length; i++) {
21
+ const field = targetFields[i];
22
+ const nextField = i < targetFields.length - 1 ? targetFields[i + 1] : null;
23
+ let text = '';
24
+ if (field.type === 'regex' || field.type === 'literal') {
25
+ text = field.pattern;
26
+ }
27
+ else if (field.type === 'line-break-literal') {
28
+ text = targetForHuman ? '<LINE_BREAK>' : '(?:\r?\n|\r)';
29
+ }
30
+ else {
31
+ if (targetForHuman) {
32
+ text = `{${field.pattern}}`;
33
+ }
34
+ else {
35
+ switch (field.pattern) {
36
+ case 'LEVEL':
37
+ text = base_1.LOG_FIELD_PATTERNS.LEVEL.pattern;
38
+ break;
39
+ case 'WORD':
40
+ text = base_1.LOG_FIELD_PATTERNS.WORD.pattern;
41
+ break;
42
+ case 'INT':
43
+ text = base_1.LOG_FIELD_PATTERNS.INT.pattern;
44
+ break;
45
+ case 'NUMBER':
46
+ text = base_1.LOG_FIELD_PATTERNS.NUMBER.pattern;
47
+ break;
48
+ case 'DATA':
49
+ case 'GREEDY_DATA':
50
+ if (field.enclosure) {
51
+ text = '[^\\' + field.enclosure.substring(1) + ']*';
52
+ }
53
+ else {
54
+ text = '.*';
55
+ }
56
+ if (field.pattern === 'DATA') {
57
+ text += '?';
58
+ }
59
+ break;
60
+ case 'GREEDY_MULTILINE':
61
+ text = base_1.LOG_FIELD_PATTERNS.GREEDY_MULTILINE.pattern;
62
+ break;
63
+ case 'ISO8601_STRICT':
64
+ text = base_1.LOG_FIELD_PATTERNS.ISO8601_STRICT.pattern;
65
+ break;
66
+ case 'ISO8601_LENIENT':
67
+ text = base_1.LOG_FIELD_PATTERNS.ISO8601_LENIENT.pattern;
68
+ break;
69
+ case 'JUL_TIMESTAMP':
70
+ text = base_1.LOG_FIELD_PATTERNS.JUL_TIMESTAMP.pattern;
71
+ break;
72
+ case 'SLASH_TIMESTAMP':
73
+ text = base_1.LOG_FIELD_PATTERNS.SLASH_TIMESTAMP.pattern;
74
+ break;
75
+ case 'EPOCH_TIMESTAMP':
76
+ text = base_1.LOG_FIELD_PATTERNS.EPOCH_TIMESTAMP.pattern;
77
+ break;
78
+ case 'LOGGER':
79
+ text = base_1.LOG_FIELD_PATTERNS.LOGGER.pattern;
80
+ break;
81
+ }
82
+ }
83
+ }
84
+ if (!onlyStartMarker) {
85
+ if (field.type === 'literal' || field.type === 'line-break-literal') {
86
+ text = `${text}`;
87
+ }
88
+ else {
89
+ text = `(?<${field.name}>${text})`;
90
+ }
91
+ }
92
+ if (field.enclosure) {
93
+ if (field.enclosure === '()') {
94
+ text = `\\(\\s*${text}\\s*\\)`;
95
+ }
96
+ else if (field.enclosure === '[]') {
97
+ text = `\\[\\s*${text}\\s*\\]`;
98
+ }
99
+ }
100
+ if (field.type === 'line-break-literal' && targetForHuman) {
101
+ text += '\n';
102
+ }
103
+ summary += text;
104
+ if (i < targetFields.length - 1) {
105
+ if (field.type === 'line-break-literal' ||
106
+ (nextField === null || nextField === void 0 ? void 0 : nextField.type) === 'line-break-literal') {
107
+ }
108
+ else {
109
+ if (field.type === 'literal' || (nextField === null || nextField === void 0 ? void 0 : nextField.type) === 'literal') {
110
+ summary += targetForHuman ? ' △ ' : '\\s*';
111
+ }
112
+ else {
113
+ summary += targetForHuman ? ' △ ' : '\\s+';
114
+ }
115
+ }
116
+ }
117
+ }
118
+ return '^' + summary;
119
+ }
120
+ exports.createLogEventPatternText = createLogEventPatternText;
121
+ //# sourceMappingURL=logEventPattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logEventPattern.js","sourceRoot":"","sources":["../../../../../src/utils/log/pattern/logEventPattern.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ResultSetDataBuilder } from '@l-v-yonsama/rdh';
2
+ import { ClassifiedEvent, LogParseStage, SqlExecutionEvent } from '../../../types';
3
+ export declare function createLogResultBuilder(logEvents: ClassifiedEvent[], stage: LogParseStage, options?: {
4
+ elapsedTimeMilli: number;
5
+ logEventSplitPattern: string;
6
+ logEventFieldsPattern: string;
7
+ classificationSummary: string;
8
+ }): ResultSetDataBuilder;
9
+ export declare function createSqlResultBuilder(sqlExecutions: SqlExecutionEvent[], options?: {
10
+ elapsedTimeMilli: number;
11
+ extractionSummary: string;
12
+ }): ResultSetDataBuilder;
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSqlResultBuilder = exports.createLogResultBuilder = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const rdh_1 = require("@l-v-yonsama/rdh");
6
+ const types_1 = require("../../../types");
7
+ function createRdhTextKey(name, width) {
8
+ return (0, rdh_1.createRdhKey)({ name, type: rdh_1.GeneralColumnType.TEXT, width });
9
+ }
10
+ function createRdhEnumKey(name, width) {
11
+ return (0, rdh_1.createRdhKey)({ name, type: rdh_1.GeneralColumnType.ENUM, width });
12
+ }
13
+ function createRdhIntKey(name, width) {
14
+ return (0, rdh_1.createRdhKey)({ name, type: rdh_1.GeneralColumnType.INTEGER, width });
15
+ }
16
+ function createLogResultBuilder(logEvents, stage, options) {
17
+ if (logEvents.length === 0) {
18
+ return rdh_1.ResultSetDataBuilder.createEmpty();
19
+ }
20
+ const elapsedTimeMilli = options === null || options === void 0 ? void 0 : options.elapsedTimeMilli;
21
+ const logEventSplitPattern = options === null || options === void 0 ? void 0 : options.logEventSplitPattern;
22
+ const logEventFieldsPattern = options === null || options === void 0 ? void 0 : options.logEventFieldsPattern;
23
+ const classificationSummary = options === null || options === void 0 ? void 0 : options.classificationSummary;
24
+ const stageForSplit = stage === 'split';
25
+ const firstEvent = logEvents[0];
26
+ const logResultKeys = [];
27
+ logResultKeys.push(createRdhIntKey('lineNo', 80));
28
+ if (!stageForSplit) {
29
+ logResultKeys.push(createRdhTextKey('eventType', 100));
30
+ }
31
+ types_1.OPTIONAL_LOG_EVENT_KEYS.forEach((key) => {
32
+ if (firstEvent[key]) {
33
+ if (key === 'level') {
34
+ logResultKeys.push(createRdhEnumKey(key, 80));
35
+ }
36
+ else {
37
+ logResultKeys.push(createRdhTextKey(key));
38
+ }
39
+ }
40
+ });
41
+ if (!stageForSplit) {
42
+ logResultKeys.push(createRdhTextKey('transformed'));
43
+ }
44
+ logResultKeys.push(createRdhTextKey('message', 800));
45
+ const existsFieldKeys = [];
46
+ if (firstEvent.fields) {
47
+ Object.keys(firstEvent.fields).forEach((key) => {
48
+ existsFieldKeys.push(key);
49
+ logResultKeys.push(createRdhTextKey(key));
50
+ });
51
+ }
52
+ const rdb = new rdh_1.ResultSetDataBuilder(logResultKeys);
53
+ logEvents.forEach((it) => {
54
+ const { fields, eventType, transformed } = it, others = tslib_1.__rest(it, ["fields", "eventType", "transformed"]);
55
+ const data = Object.assign({}, others);
56
+ if (!stageForSplit) {
57
+ data.eventType = eventType;
58
+ data.transformed = transformed;
59
+ }
60
+ existsFieldKeys.forEach((key) => {
61
+ data[key] = fields === null || fields === void 0 ? void 0 : fields[key];
62
+ });
63
+ rdb.addRow(data);
64
+ const row = rdb.rs.rows[rdb.rs.rows.length - 1];
65
+ if (eventType === 'ERROR' ||
66
+ eventType === 'FW_ERROR' ||
67
+ eventType === 'SQL_ERROR' ||
68
+ eventType === 'SQL_ERROR_DETAIL') {
69
+ rdh_1.RowHelper.pushAnnotation(row, 'eventType', { type: 'Err' });
70
+ }
71
+ if (others &&
72
+ others.level &&
73
+ others.level &&
74
+ isErrorLikeLevel(others.level)) {
75
+ rdh_1.RowHelper.pushAnnotation(row, 'level', { type: 'Err' });
76
+ }
77
+ });
78
+ if (stageForSplit) {
79
+ updateMetaParams({ rdb, type: 'split', title: 'SPLIT-LOG-EVENT' });
80
+ }
81
+ else {
82
+ updateMetaParams({ rdb, type: 'classify', title: 'EVENT-CLASSIFICATION' });
83
+ }
84
+ const lines = [];
85
+ if (logEventSplitPattern) {
86
+ lines.push('-- logEventSplitPattern');
87
+ lines.push(logEventSplitPattern);
88
+ lines.push('\n');
89
+ }
90
+ if (logEventFieldsPattern) {
91
+ lines.push('-- logEventFieldsPattern');
92
+ lines.push(logEventFieldsPattern);
93
+ lines.push('\n');
94
+ }
95
+ if (classificationSummary) {
96
+ lines.push('-- classificationSummary');
97
+ lines.push(classificationSummary);
98
+ lines.push('\n');
99
+ }
100
+ if (lines.length > 0) {
101
+ rdb.setSqlStatement(lines.join('\n'));
102
+ }
103
+ if (elapsedTimeMilli !== undefined) {
104
+ rdb.setSummary({
105
+ elapsedTimeMilli,
106
+ selectedRows: rdb.rs.rows.length,
107
+ });
108
+ }
109
+ return rdb;
110
+ }
111
+ exports.createLogResultBuilder = createLogResultBuilder;
112
+ function isErrorLikeLevel(level) {
113
+ return ['error', 'fatal', 'sever'].includes(level.toLocaleLowerCase());
114
+ }
115
+ function createSqlResultBuilder(sqlExecutions, options) {
116
+ const elapsedTimeMilli = options === null || options === void 0 ? void 0 : options.elapsedTimeMilli;
117
+ const extractionSummary = options === null || options === void 0 ? void 0 : options.extractionSummary;
118
+ const sqlResultKeys = [];
119
+ sqlResultKeys.push(createRdhIntKey('startLine', 80));
120
+ sqlResultKeys.push(createRdhIntKey('endLine', 80));
121
+ sqlResultKeys.push(createRdhTextKey('timestamp', 120));
122
+ sqlResultKeys.push(createRdhTextKey('thread', 120));
123
+ sqlResultKeys.push(createRdhTextKey('daoClass', 100));
124
+ sqlResultKeys.push(createRdhTextKey('daoMethod', 100));
125
+ sqlResultKeys.push(createRdhTextKey('schema', 80));
126
+ sqlResultKeys.push(createRdhTextKey('table', 150));
127
+ sqlResultKeys.push(createRdhTextKey('type', 80));
128
+ sqlResultKeys.push(createRdhTextKey('content', 350));
129
+ sqlResultKeys.push(createRdhTextKey('detail', 400));
130
+ sqlResultKeys.push(createRdhTextKey('params', 200));
131
+ sqlResultKeys.push(createRdhTextKey('result', 100));
132
+ sqlResultKeys.push(createRdhTextKey('framework', 120));
133
+ const rdb = new rdh_1.ResultSetDataBuilder(sqlResultKeys);
134
+ sqlExecutions.forEach((it) => {
135
+ var _a;
136
+ const { sql, formattedSql, error, errorDetail } = it, rest = tslib_1.__rest(it, ["sql", "formattedSql", "error", "errorDetail"]);
137
+ if (((_a = rest.type) !== null && _a !== void 0 ? _a : '').toLowerCase() === 'error') {
138
+ rdb.addRow(Object.assign({ content: error, detail: errorDetail }, rest));
139
+ const row = rdb.rs.rows[rdb.rs.rows.length - 1];
140
+ rdh_1.RowHelper.pushAnnotation(row, 'type', { type: 'Err' });
141
+ rdh_1.RowHelper.pushAnnotation(row, 'content', { type: 'Err' });
142
+ rdh_1.RowHelper.pushAnnotation(row, 'detail', { type: 'Err' });
143
+ }
144
+ else {
145
+ rdb.addRow(Object.assign({ content: sql, detail: formattedSql }, rest));
146
+ }
147
+ });
148
+ updateMetaParams({ rdb, type: 'sqlExecution', title: 'SQL-EXECUTION' });
149
+ if (extractionSummary) {
150
+ const lines = [];
151
+ lines.push('-- extractionSummary');
152
+ lines.push(extractionSummary);
153
+ rdb.setSqlStatement(lines.join('\n'));
154
+ }
155
+ if (elapsedTimeMilli !== undefined) {
156
+ rdb.setSummary({
157
+ elapsedTimeMilli,
158
+ selectedRows: rdb.rs.rows.length,
159
+ });
160
+ }
161
+ return rdb;
162
+ }
163
+ exports.createSqlResultBuilder = createSqlResultBuilder;
164
+ function updateMetaParams({ rdb, title, type }) {
165
+ rdb.updateMeta({
166
+ tableName: title,
167
+ type,
168
+ });
169
+ }
170
+ //# sourceMappingURL=convertExtractedSqlRdhResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertExtractedSqlRdhResult.js","sourceRoot":"","sources":["../../../../../src/utils/log/rdh/convertExtractedSqlRdhResult.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { LogEventSplitConfig, SpligLogText } from '../../../types';
2
+ export declare function splitLogEvents(logText: string, config: LogEventSplitConfig, linesToParse?: number): SpligLogText[];
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.splitLogEvents = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const xregexp_1 = tslib_1.__importDefault(require("xregexp"));
6
+ const logEventPattern_1 = require("../pattern/logEventPattern");
7
+ function splitLogEvents(logText, config, linesToParse) {
8
+ const startPattern = (0, logEventPattern_1.createLogEventPattern)({
9
+ fields: config.fields,
10
+ onlyStartMarker: true,
11
+ });
12
+ const lines = logText.split(/\r?\n|\r/);
13
+ const events = [];
14
+ let lineNo = 0;
15
+ let current = [];
16
+ for (let i = 0; i < lines.length; i++) {
17
+ if (linesToParse && linesToParse > 0 && i >= linesToParse) {
18
+ break;
19
+ }
20
+ const line = lines[i];
21
+ const isStart = xregexp_1.default.test(line, startPattern);
22
+ if (isStart) {
23
+ if (current.length > 0) {
24
+ events.push({ lineNo, text: current.join('\n') });
25
+ }
26
+ lineNo = i + 1;
27
+ current = [line];
28
+ continue;
29
+ }
30
+ current.push(line);
31
+ }
32
+ if (current.length > 0) {
33
+ events.push({ lineNo, text: current.join('\n') });
34
+ }
35
+ return events;
36
+ }
37
+ exports.splitLogEvents = splitLogEvents;
38
+ //# sourceMappingURL=splitLogEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splitLogEvents.js","sourceRoot":"","sources":["../../../../../src/utils/log/split/splitLogEvents.ts"],"names":[],"mappings":";;;;AAAA,8DAA8B;AAE9B,gEAAmE;AAEnE,SAAgB,cAAc,CAC5B,OAAe,EACf,MAA2B,EAC3B,YAAqB;IAErB,MAAM,YAAY,GAAG,IAAA,uCAAqB,EAAC;QACzC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAExC,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAa,EAAE,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,YAAY,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,EAAE;YACzD,MAAM;SACP;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,iBAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEjD,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACnD;YAED,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;YACjB,SAAS;SACV;QAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpB;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACnD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAzCD,wCAyCC"}
@@ -0,0 +1 @@
1
+ export declare function removeSqlComments(sql: string): string;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeSqlComments = void 0;
4
+ function removeSqlComments(sql) {
5
+ return sql
6
+ .replace(/\/\*[\s\S]*?\*\//g, '')
7
+ .replace(/^\s*--.*$/gm, '')
8
+ .trim();
9
+ }
10
+ exports.removeSqlComments = removeSqlComments;
11
+ //# sourceMappingURL=removeSqlComments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeSqlComments.js","sourceRoot":"","sources":["../../../../../src/utils/log/sql/removeSqlComments.ts"],"names":[],"mappings":";;;AAAA,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,OAAO,GAAG;SACP,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,IAAI,EAAE,CAAC;AACZ,CAAC;AALD,8CAKC"}
@@ -0,0 +1,6 @@
1
+ import { LogParseStage } from '../../types';
2
+ export declare function validateConfig(config: unknown, state?: LogParseStage): {
3
+ ok: boolean;
4
+ availableStage?: LogParseStage;
5
+ errorMessage: string;
6
+ };