diff --git a/package.json b/package.json index 778717e..ddaaf63 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "@codefresh-io/task-logger", - "version": "0.0.23", + "name": "nazar-codefresh-task-logger", + "version": "0.0.27", "description": "Codefresh utilities for working with build logs", "main": "index.js", "scripts": { diff --git a/taskLogger/enums.js b/taskLogger/enums.js index 7a2e97e..a48737b 100644 --- a/taskLogger/enums.js +++ b/taskLogger/enums.js @@ -17,7 +17,8 @@ const TYPES = { FIREBASE: 'firebase', REDIS: 'redis', MONGO: 'mongo', - COMPOSE: 'composition' + COMPOSE: 'composition', + STDOUT: 'stdout', }; const VISIBILITY = { diff --git a/taskLogger/stdout/StepLogger.js b/taskLogger/stdout/StepLogger.js new file mode 100644 index 0000000..c78c245 --- /dev/null +++ b/taskLogger/stdout/StepLogger.js @@ -0,0 +1,66 @@ +const Q = require('q'); +const BaseStepLogger = require('../StepLogger'); + +class StdOutStepLogger extends BaseStepLogger { + constructor(step, opts) { + super(step, opts); + } + + restore() { + return Q.resolve(); + } + + _reportLog(message) { + process.stdout.write(message); + } + + _reportOutputUrl() { + return Q.resolve(); + } + + _reportPrevioulyExecuted() { + return Q.resolve(); + } + + _reportStatus() { + return Q.resolve(); + } + + _reportFinishTimestamp() { + return Q.resolve(); + } + + _reportCreationTimestamp() { + return Q.resolve(); + } + + _reportMemoryUsage(time, memoryUsage) { + return Q.resolve(); + } + + _reportCpuUsage(time, cpuUsage) { + return Q.resolve(); + } + + _reportLogSize() { + return Q.resolve(); + } + + reportName() { + return Q.resolve(); + } + + clearLogs() { + return Q.resolve(); + } + + delete() { + return Q.resolve(); + } + + getRaw() { + return Q.resolve(); + } +} + +module.exports = StdOutStepLogger; diff --git a/taskLogger/stdout/TaskLogger.js b/taskLogger/stdout/TaskLogger.js new file mode 100644 index 0000000..4de1097 --- /dev/null +++ b/taskLogger/stdout/TaskLogger.js @@ -0,0 +1,75 @@ +const TaskLogger = require('../TaskLogger'); +const {TYPES, STATUS} = require('../enums'); +const Q = require('q'); + + +class StdOutTaskLogger extends TaskLogger { + constructor(task, opts) { + super(task, opts); + this.type = TYPES.STDOUT + + } + + static async factory(task, opts) { + return new StdOutTaskLogger(task, opts); + } + + newStepAdded(step) { + this.emit('step-pushed', step.name); + } + + async getLastUpdate() { + + return this.writter.child('lastUpdate').get(); + } + + async addErrorMessageToEndOfSteps(message) { + Object.keys(this.steps).forEach((step) => { + this.steps[step]._reportLog(`\x1B[31m${message}\x1B[0m\r\n`); + }); + } + + _reportLastUpdate(value) { + + } + + restore() { + return Q.resolve(); + } + + reportId() { + + } + + reportAccountId() { + + } + + _reportMemoryUsage(time, memoryUsage, syncId) { + + } + + _reportMemoryLimit() { + + } + + _reportVisibility() { + + } + + _reportData() { + + } + + _reportStatus() { + + } + + _reportLogSize() { + + } +} + +StdOutTaskLogger.TYPE = TYPES.STDOUT; + +module.exports = StdOutTaskLogger; diff --git a/taskLogger/taskLoggerFactory.js b/taskLogger/taskLoggerFactory.js index 7b220a6..f8bd300 100644 --- a/taskLogger/taskLoggerFactory.js +++ b/taskLogger/taskLoggerFactory.js @@ -2,12 +2,14 @@ const FirebaseTaskLogger = require('./firebase/TaskLogger'); const RedisTaskLogger = require('./redis/TaskLogger'); const MongoTaskLogger = require('./mongo/TaskLogger'); const ComposeTaskLogger = require('./composition/TaskLogger'); +const StdOutTaskLogger = require('./stdout/TaskLogger'); const factoryMap = { [FirebaseTaskLogger.TYPE]: FirebaseTaskLogger.factory, [RedisTaskLogger.TYPE]: RedisTaskLogger.factory, [MongoTaskLogger.TYPE]: MongoTaskLogger.factory, - [ComposeTaskLogger.TYPE]: ComposeTaskLogger.factory + [ComposeTaskLogger.TYPE]: ComposeTaskLogger.factory, + [StdOutTaskLogger.TYPE]: StdOutTaskLogger.factory, };