@raona/sp
Version:
Raona utilities to work with Sharepoint using pnp/sp
81 lines (80 loc) • 3.68 kB
JavaScript
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
var CustomLogger_1 = require("./CustomLogger");
var Bind_1 = require("../decorators/Bind");
// import { ISPLogger, LoggingOptions, TypedLogEntry } from "./entities";
// import {Bind} from '../decorators';
var SPLogger = /** @class */ (function () {
function SPLogger(logOptions) {
this.customLogger = new CustomLogger_1.CustomLogger();
this.logBefore = logOptions.logBefore;
this.logAfter = logOptions.logAfter;
this.logOnError = logOptions.logOnError;
this.logInBetween = logOptions.logInBetween;
this.resultData = logOptions.resultData;
this.logDate = logOptions.logDate;
}
SPLogger.prototype.checkLogOptions = function (logType) {
switch (logType) {
case 'prelog':
return this.logBefore ? true : false;
case 'postlog':
return this.logAfter ? true : false;
case 'errorlog':
return this.logOnError ? true : false;
case 'betweenlog':
return this.logInBetween ? true : false;
}
};
SPLogger.prototype.toLogEntryFormat = function (entry) {
var formattedEntry = { message: '', level: entry.level, data: {} };
var date = new Date();
this.logDate ? (formattedEntry.message = date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds() + ' - ' + entry.message)
: formattedEntry.message = entry.message;
this.resultData && (formattedEntry.data['msgData'] = entry.data);
formattedEntry.data['isCustom'] = true;
return formattedEntry;
};
SPLogger.prototype.preLog = function (entry) {
var canLog = this.checkLogOptions('prelog');
return canLog && this.customLogger.log(this.toLogEntryFormat(entry));
};
SPLogger.prototype.postLog = function (entry) {
var canLog = this.checkLogOptions('postlog');
return canLog && this.customLogger.log(this.toLogEntryFormat(entry));
};
SPLogger.prototype.errorLog = function (entry) {
var canLog = this.checkLogOptions('errorlog');
return canLog && this.customLogger.log(this.toLogEntryFormat(entry));
};
SPLogger.prototype.logBetween = function (entry) {
var canLog = this.checkLogOptions('betweenlog');
return canLog && this.customLogger.log(this.toLogEntryFormat(entry));
};
__decorate([
Bind_1.Bind()
], SPLogger.prototype, "checkLogOptions", null);
__decorate([
Bind_1.Bind()
], SPLogger.prototype, "toLogEntryFormat", null);
__decorate([
Bind_1.Bind()
], SPLogger.prototype, "preLog", null);
__decorate([
Bind_1.Bind()
], SPLogger.prototype, "postLog", null);
__decorate([
Bind_1.Bind()
], SPLogger.prototype, "errorLog", null);
__decorate([
Bind_1.Bind()
], SPLogger.prototype, "logBetween", null);
return SPLogger;
}());
exports.SPLogger = SPLogger;