Socket
Socket
Sign inDemoInstall

qcloud-iotexplorer-logger

Package Overview
Dependencies
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

qcloud-iotexplorer-logger - npm Package Compare versions

Comparing version 0.0.4 to 0.0.8

lib/InsightLogger/index.d.ts

2

lib/internal-transport/Console.js

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConsoleTransport=exports.SPEC_CONSOLE_ARGS=void 0;var tslib_1=require("tslib"),logger_1=require("../logger"),constants_1=require("../constants");exports.SPEC_CONSOLE_ARGS="specConsoleArgs";var ConsoleTransport=function(o){function s(s){return void 0===s&&(s={}),o.call(this,tslib_1.__assign(tslib_1.__assign({},s),{name:"ConsoleTransport",batchConsume:!1}))||this}return tslib_1.__extends(s,o),s.prototype.log=function(o,s){var e=console.log;"function"==typeof console[o[constants_1.LEVEL]]&&(e=console[o[constants_1.LEVEL]]);var r=o[exports.SPEC_CONSOLE_ARGS];Array.isArray(r)&&r.length?e.call.apply(e,tslib_1.__spread([console],r)):e.call(console,o.message),s()},s}(logger_1.LoggerTransport);exports.ConsoleTransport=ConsoleTransport;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConsoleTransport=exports.SPEC_CONSOLE_ARGS=void 0;var tslib_1=require("tslib"),logger_1=require("../logger"),constants_1=require("../constants");exports.SPEC_CONSOLE_ARGS="specConsoleArgs";var ConsoleTransport=function(o){function s(s){return void 0===s&&(s={}),o.call(this,tslib_1.__assign(tslib_1.__assign({},s),{name:"ConsoleTransport",batchConsume:!1}))||this}return tslib_1.__extends(s,o),s.prototype.log=function(o,s){var e=console.log;"function"==typeof console[o[constants_1.LEVEL]]&&(e=console[o[constants_1.LEVEL]]);var r=o[exports.SPEC_CONSOLE_ARGS];Array.isArray(r)&&r.length?e.apply(console,r):e.call(console,o.message),s()},s}(logger_1.LoggerTransport);exports.ConsoleTransport=ConsoleTransport;
//# sourceMappingURL=Console.js.map

@@ -14,5 +14,5 @@ import { LoggerTransport, LoggerTransportOptions } from '../../logger';

protected customRequest: ElasticsearchTransportOptions['request'];
constructor({ skipUpload, highWaterMark, consumeNum, level, maxRetryTime, errDelayTime, request, ...opts }: ElasticsearchTransportOptions);
constructor({ skipUpload, highWaterMark, consumeNum, level, consumeImme, maxRetryTime, errDelayTime, request, ...opts }: ElasticsearchTransportOptions);
protected logBatch(logs: any, cb: any): Promise<void>;
protected request(uploadData: Record<string, unknown>[]): any;
}

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ElasticsearchTransport=void 0;var tslib_1=require("tslib"),logger_1=require("../../logger"),error_1=tslib_1.__importDefault(require("../../lib/error")),utils_1=require("../../utils"),debugLogger_1=tslib_1.__importDefault(require("../../lib/debugLogger")),debuggerLogger=debugLogger_1.default("iot-logger-esTransport"),ERR_INVALID_OPT_VALUE=error_1.default.ERR_INVALID_OPT_VALUE,DEFAULT_MAX_RETRY_TIME=1/0,DEFAULT_ERR_DELAY_TIME=1e3,ElasticsearchTransport=function(e){function r(r){var t=r.skipUpload,s=r.highWaterMark,i=void 0===s?1e3:s,a=r.consumeNum,u=void 0===a?30:a,o=r.level,n=void 0===o?"info":o,_=r.maxRetryTime,l=void 0===_?DEFAULT_MAX_RETRY_TIME:_,c=r.errDelayTime,h=void 0===c?DEFAULT_ERR_DELAY_TIME:c,T=r.request,g=tslib_1.__rest(r,["skipUpload","highWaterMark","consumeNum","level","maxRetryTime","errDelayTime","request"]),m=e.call(this,tslib_1.__assign(tslib_1.__assign({},g),{highWaterMark:i,consumeNum:u,level:n,name:"ElasticsearchTransport",batchConsume:!0,forceDiscard:!0}))||this;if(m.curRetryTime=0,m.maxRetryTime=Math.round(Math.abs(l))||DEFAULT_MAX_RETRY_TIME,m.skipUpload=t,"function"!=typeof T)throw new ERR_INVALID_OPT_VALUE("request",T);return m.errDelayTime=h,m.customRequest=T,m}return tslib_1.__extends(r,e),r.prototype.logBatch=function(e,r){return tslib_1.__awaiter(this,void 0,void 0,(function(){var t,s;return tslib_1.__generator(this,(function(i){switch(i.label){case 0:if(this.skipUpload)return r(),[2];t=e.map((function(e){return e.message})),i.label=1;case 1:return i.trys.push([1,3,,4]),this.curRetryTime=0,[4,this.request(t)];case 2:return i.sent(),r(),[3,4];case 3:return s=i.sent(),r(s),[3,4];case 4:return[2]}}))}))},r.prototype.request=function(e){return tslib_1.__awaiter(this,void 0,void 0,(function(){var r;return tslib_1.__generator(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,6]),[4,this.customRequest(e)];case 1:return t.sent(),[3,6];case 2:if(r=t.sent(),this.curRetryTime++,debuggerLogger.error("exec customRequest fail, curRetryTime: "+this.curRetryTime,r),!(this.curRetryTime>=this.maxRetryTime))return[3,3];throw r;case 3:return[4,utils_1.delay(this.errDelayTime)];case 4:return t.sent(),[2,this.request(e)];case 5:return[3,6];case 6:return[2]}}))}))},r}(logger_1.LoggerTransport);exports.ElasticsearchTransport=ElasticsearchTransport;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ElasticsearchTransport=void 0;var tslib_1=require("tslib"),logger_1=require("../../logger"),error_1=tslib_1.__importDefault(require("../../lib/error")),utils_1=require("../../utils"),debugLogger_1=tslib_1.__importDefault(require("../../lib/debugLogger")),debuggerLogger=debugLogger_1.default("iot-logger-esTransport"),ERR_INVALID_OPT_VALUE=error_1.default.ERR_INVALID_OPT_VALUE,DEFAULT_MAX_RETRY_TIME=1/0,DEFAULT_ERR_DELAY_TIME=1e3,ElasticsearchTransport=function(e){function r(r){var t=r.skipUpload,s=r.highWaterMark,i=void 0===s?1e3:s,u=r.consumeNum,a=void 0===u?30:u,o=r.level,n=void 0===o?"info":o,_=r.consumeImme,c=void 0!==_&&_,l=r.maxRetryTime,m=void 0===l?DEFAULT_MAX_RETRY_TIME:l,h=r.errDelayTime,T=void 0===h?DEFAULT_ERR_DELAY_TIME:h,g=r.request,p=tslib_1.__rest(r,["skipUpload","highWaterMark","consumeNum","level","consumeImme","maxRetryTime","errDelayTime","request"]),R=e.call(this,tslib_1.__assign(tslib_1.__assign({},p),{highWaterMark:i,consumeNum:a,consumeImme:c,level:n,name:"ElasticsearchTransport",batchConsume:!0,forceDiscard:!0}))||this;if(R.curRetryTime=0,R.maxRetryTime=Math.round(Math.abs(m))||DEFAULT_MAX_RETRY_TIME,R.skipUpload=t,"function"!=typeof g)throw new ERR_INVALID_OPT_VALUE("request",g);return R.errDelayTime=T,R.customRequest=g,R}return tslib_1.__extends(r,e),r.prototype.logBatch=function(e,r){return tslib_1.__awaiter(this,void 0,void 0,(function(){var t,s;return tslib_1.__generator(this,(function(i){switch(i.label){case 0:if(this.skipUpload)return r(),[2];t=e.map((function(e){return e.message})),i.label=1;case 1:return i.trys.push([1,3,,4]),this.curRetryTime=0,[4,this.request(t)];case 2:return i.sent(),r(),[3,4];case 3:return s=i.sent(),r(s),[3,4];case 4:return[2]}}))}))},r.prototype.request=function(e){return tslib_1.__awaiter(this,void 0,void 0,(function(){var r;return tslib_1.__generator(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,6]),[4,this.customRequest(e)];case 1:return t.sent(),[3,6];case 2:if(r=t.sent(),this.curRetryTime++,debuggerLogger.error("exec customRequest fail, curRetryTime: "+this.curRetryTime,r),!(this.curRetryTime>=this.maxRetryTime))return[3,3];throw r;case 3:return[4,utils_1.delay(this.errDelayTime)];case 4:return t.sent(),[2,this.request(e)];case 5:return[3,6];case 6:return[2]}}))}))},r}(logger_1.LoggerTransport);exports.ElasticsearchTransport=ElasticsearchTransport;
//# sourceMappingURL=Elasticsearch.js.map

@@ -1,2 +0,2 @@

export * from './Stream';
export * from './Pool';
export * from './Writeable';

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib");tslib_1.__exportStar(require("./Stream"),exports),tslib_1.__exportStar(require("./Writeable"),exports);
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib");tslib_1.__exportStar(require("./Pool"),exports),tslib_1.__exportStar(require("./Writeable"),exports);
//# sourceMappingURL=index.js.map

@@ -1,10 +0,18 @@

import { Stream, StreamOptions } from './Stream';
import { Pool, PoolOptions } from './Pool';
import { Callback } from '../../constants';
export interface WriteableOptions extends StreamOptions {
export interface WriteableOptions extends PoolOptions {
batchConsume?: boolean;
consumeNum?: number;
consumeImme?: boolean;
consumeCheckInterval?: number;
maxConsumeIdleTime?: number;
}
export declare class Writeable extends Stream {
export declare class Writeable extends Pool {
protected readonly batchConsume: boolean;
protected readonly consumeNum: number;
protected readonly consumeCheckInterval?: number;
protected readonly maxConsumeIdleTime?: number;
private consumeImme?;
private lastConsumeTime;
private checkTid;
private isWriting;

@@ -19,3 +27,3 @@ private isClosing;

private emptyCb;
constructor({ batchConsume, consumeNum, ...opts }?: WriteableOptions);
constructor({ batchConsume, consumeNum, consumeImme, consumeCheckInterval, maxConsumeIdleTime, ...opts }?: WriteableOptions);
start(): void;

@@ -26,2 +34,4 @@ stop(): void;

flush(): Promise<void>;
startPollingCheck(): void;
stopPollingCheck(): void;
private doWrite;

@@ -28,0 +38,0 @@ protected _write(_chunk: unknown, _cb: Callback): void;

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Writeable=void 0;var tslib_1=require("tslib"),Stream_1=require("./Stream"),error_1=tslib_1.__importDefault(require("../error")),debugLogger_1=tslib_1.__importDefault(require("../debugLogger")),debuggerLogger=debugLogger_1.default("iot-logger-Writeable"),ERR_INVALID_OPT_VALUE=error_1.default.ERR_INVALID_OPT_VALUE,ERR_METHOD_NOT_IMPLEMENTED=error_1.default.ERR_METHOD_NOT_IMPLEMENTED,DEFAULT_BATCH_CONSUME_NUM=10,Writeable=function(t){function e(e){void 0===e&&(e={});var r=e.batchConsume,i=e.consumeNum,o=tslib_1.__rest(e,["batchConsume","consumeNum"]),n=t.call(this,o)||this;if(n.isWriting=!1,n.isClosing=!1,n.isStopping=!1,n.writeLen=0,n.batchConsume=!!r,i&&(Math.floor(i)!==i||i<0))throw new ERR_INVALID_OPT_VALUE("consumeNum",i);return n.batchConsume?n.consumeNum=i||DEFAULT_BATCH_CONSUME_NUM:n.consumeNum=1,n.onAfterWrite=function(t){n.delChunks(n.writeLen),n.writeLen=0,n.isWriting=!1,Promise.resolve().then((function(){return n.doWrite()})),"function"==typeof n.writeCb&&n.writeCb(t),n.writeCb=null},n.closeCb=function(t){try{n._destroy()}catch(t){debuggerLogger.error("exec _destroy err",t)}},n}return tslib_1.__extends(e,t),e.prototype.start=function(){debuggerLogger.info("start manually"),this.isStopping=!1,this.doWrite()},e.prototype.stop=function(){debuggerLogger.info("stop manually"),this.isStopping=!0},e.prototype.write=function(t,e){if(this.isClosing)return debuggerLogger.warn("can't write after closed"),!1;var r=this.addChunk(t,e);return this.doWrite(),r},e.prototype.close=function(){this.isClosing=!0},e.prototype.flush=function(){var t=this;if(0!==this.chunkLinkListLen)return this.flushPromise||(this.flushPromise=new Promise((function(e){t.emptyCb=function(){e(),t.emptyCb=null,t.flushPromise=null}}))),this.flushPromise},e.prototype.doWrite=function(){if(!this.isWriting&&!this.isStopping){var t=this.getChunks(this.consumeNum);if(t.length<=0){if("function"==typeof this.emptyCb&&this.emptyCb(),this.isClosing&&"function"==typeof this.closeCb)try{this.closeCb()}finally{this.closeCb=null}}else{this.isWriting=!0,this.writeLen=t.length;var e=t.map((function(t){return t.chunk}));try{if(this.batchConsume)return this.writeCb=function(e){t.forEach((function(t){try{"function"==typeof t.callback&&t.callback(e)}catch(t){debuggerLogger.error("exec write cb err",t)}})),t=null},void this._writev(e,this.onAfterWrite);if("function"==typeof t[0].callback){var r=t[0].callback;this.writeCb=function(t){try{r(t)}catch(t){debuggerLogger.error("exec write cb err",t)}r=null}}this._write(e[0],this.onAfterWrite)}catch(t){debuggerLogger.error("exec "+(this.batchConsume?"_writev":"_write")+" err",t),this.onAfterWrite(t)}}}},e.prototype._write=function(t,e){throw new ERR_METHOD_NOT_IMPLEMENTED("_write()")},e.prototype._writev=function(t,e){throw new ERR_METHOD_NOT_IMPLEMENTED("_writev()")},e.prototype._destroy=function(){debuggerLogger.warn(new ERR_METHOD_NOT_IMPLEMENTED("_destroy()"))},e}(Stream_1.Stream);exports.Writeable=Writeable;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Writeable=void 0;var tslib_1=require("tslib"),Pool_1=require("./Pool"),error_1=tslib_1.__importDefault(require("../error")),debugLogger_1=tslib_1.__importDefault(require("../debugLogger")),debuggerLogger=debugLogger_1.default("iot-logger-Writeable"),ERR_INVALID_OPT_VALUE=error_1.default.ERR_INVALID_OPT_VALUE,ERR_METHOD_NOT_IMPLEMENTED=error_1.default.ERR_METHOD_NOT_IMPLEMENTED,DEFAULT_BATCH_CONSUME_NUM=10,DEFAULT_CONSUME_CHECK_INTERVAL=2e3,DEFAULT_MAX_CONSUME_IDLE_TIME=3e3,Writeable=function(e){function t(t){void 0===t&&(t={});var i=t.batchConsume,r=t.consumeNum,o=t.consumeImme,n=void 0===o||o,s=t.consumeCheckInterval,u=t.maxConsumeIdleTime,c=tslib_1.__rest(t,["batchConsume","consumeNum","consumeImme","consumeCheckInterval","maxConsumeIdleTime"]),l=e.call(this,c)||this;if(l.lastConsumeTime=0,l.isWriting=!1,l.isClosing=!1,l.isStopping=!1,l.writeLen=0,l.batchConsume=!!i,r&&(Math.floor(r)!==r||r<0))throw new ERR_INVALID_OPT_VALUE("consumeNum",r);return l.batchConsume?l.consumeNum=r||DEFAULT_BATCH_CONSUME_NUM:l.consumeNum=1,l.consumeImme=!!n,l.consumeCheckInterval=s||DEFAULT_CONSUME_CHECK_INTERVAL,l.maxConsumeIdleTime=Math.max(u||DEFAULT_MAX_CONSUME_IDLE_TIME,l.consumeCheckInterval),l.onAfterWrite=function(e){l.delChunks(l.writeLen),l.writeLen=0,l.isWriting=!1,l.consumeImme&&Promise.resolve().then((function(){return l.doWrite()})),"function"==typeof l.writeCb&&l.writeCb(e),l.writeCb=null,l.chunkLinkListLen<=0&&("function"==typeof l.emptyCb&&l.emptyCb(),l.isClosing&&"function"==typeof l.closeCb&&l.closeCb())},l.closeCb=function(e){try{l.stopPollingCheck(),l._destroy()}catch(e){debuggerLogger.error("exec _destroy err",e)}finally{l.closeCb=null}},l.consumeImme||l.startPollingCheck(),l}return tslib_1.__extends(t,e),t.prototype.start=function(){debuggerLogger.info("start manually"),this.isStopping=!1,this.doWrite()},t.prototype.stop=function(){debuggerLogger.info("stop manually"),this.isStopping=!0},t.prototype.write=function(e,t){if(this.isClosing)return debuggerLogger.warn("can't write after closed"),!1;var i=this.addChunk(e,t);return this.consumeImme&&this.doWrite(),i},t.prototype.close=function(){this.isClosing=!0},t.prototype.flush=function(){var e=this;if(0!==this.chunkLinkListLen)return this.flushPromise||(this.flushPromise=new Promise((function(t){var i=e.consumeImme;e.emptyCb=function(){t(),e.emptyCb=null,e.flushPromise=null,e.consumeImme=i,i=null},e.consumeImme=!0,e.doWrite()}))),this.flushPromise},t.prototype.startPollingCheck=function(){var e=this;this.consumeImme||this.isClosing||(this.stopPollingCheck(),this.checkTid=setInterval((function(){(e.chunkLinkListLen>=e.consumeNum||+new Date-e.lastConsumeTime>=e.maxConsumeIdleTime)&&(e.lastConsumeTime=+new Date,e.doWrite())}),this.consumeCheckInterval))},t.prototype.stopPollingCheck=function(){clearInterval(this.checkTid)},t.prototype.doWrite=function(){if(!this.isWriting&&!this.isStopping){var e=this.getChunks(this.consumeNum);if(!(e.length<=0)){this.isWriting=!0,this.writeLen=e.length;var t=e.map((function(e){return e.chunk}));try{if(this.batchConsume)return this.writeCb=function(t){e.forEach((function(e){try{"function"==typeof e.callback&&e.callback(t)}catch(e){debuggerLogger.error("exec write cb err",e)}})),e=null},void this._writev(t,this.onAfterWrite);if("function"==typeof e[0].callback){var i=e[0].callback;this.writeCb=function(e){try{i(e)}catch(e){debuggerLogger.error("exec write cb err",e)}i=null}}this._write(t[0],this.onAfterWrite)}catch(e){debuggerLogger.error("exec "+(this.batchConsume?"_writev":"_write")+" err",e),this.onAfterWrite(e)}}}},t.prototype._write=function(e,t){throw new ERR_METHOD_NOT_IMPLEMENTED("_write()")},t.prototype._writev=function(e,t){throw new ERR_METHOD_NOT_IMPLEMENTED("_writev()")},t.prototype._destroy=function(){debuggerLogger.warn(new ERR_METHOD_NOT_IMPLEMENTED("_destroy()"))},t}(Pool_1.Pool);exports.Writeable=Writeable;
//# sourceMappingURL=Writeable.js.map

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.combine=void 0;var tslib_1=require("tslib"),error_1=tslib_1.__importDefault(require("../../lib/error")),Format_1=require("./Format"),ERR_INVALID_FORMAT_INSTANCE=error_1.default.ERR_INVALID_FORMAT_INSTANCE,isValidFormat=function(r){if(!(r instanceof Format_1.Format))throw new ERR_INVALID_FORMAT_INSTANCE},cascade=function(r){if(r.every(isValidFormat))return function(e){var t,o,i=e;try{for(var a=tslib_1.__values(r),n=a.next();!n.done;n=a.next()){if(!(i=n.value.transform(i)))return!1}}catch(r){t={error:r}}finally{try{n&&!n.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}return i}};function combine(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=Format_1.format(cascade(r));return t()}exports.combine=combine;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.combine=void 0;var tslib_1=require("tslib"),error_1=tslib_1.__importDefault(require("../../lib/error")),Format_1=require("./Format"),ERR_INVALID_FORMAT_INSTANCE=error_1.default.ERR_INVALID_FORMAT_INSTANCE,isValidFormat=function(r){if(!(r instanceof Format_1.Format))throw new ERR_INVALID_FORMAT_INSTANCE;return!0},cascade=function(r){if(r.every(isValidFormat))return function(e){var t,o,i=e;try{for(var a=tslib_1.__values(r),n=a.next();!n.done;n=a.next()){if(!(i=n.value.transform(i)))return!1}}catch(r){t={error:r}}finally{try{n&&!n.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}return i}};function combine(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=Format_1.format(cascade(r));return t()}exports.combine=combine;
//# sourceMappingURL=combine.js.map

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Logger=exports.LogLevel=void 0;var tslib_1=require("tslib"),debugLogger_1=tslib_1.__importDefault(require("../lib/debugLogger")),logger_format_1=require("./logger-format"),LoggerTransport_1=require("./LoggerTransport"),constants_1=require("../constants"),debugLogger=debugLogger_1.default("iot-logger");exports.LogLevel={emerg:0,error:1,warn:2,info:3,debug:4};var Logger=function(){function e(e){var r=void 0===e?{}:e,t=r.format,o=r.level,s=r.transports;if(this.levels=exports.LogLevel,this.transports=[],this.updateFormat(t),o&&"number"!=typeof this.levels[o]){var n=Object.keys(this.levels).toString();debugLogger.warn("level: "+o+" not exist in "+n),this.level="info"}else this.level=o||"info";this.add(s),this.emerg=this.createLogFunc("emerg"),this.error=this.createLogFunc("error"),this.warn=this.createLogFunc("warn"),this.info=this.createLogFunc("info"),this.debug=this.createLogFunc("debug")}return e.prototype.add=function(e){e instanceof LoggerTransport_1.LoggerTransport&&(e.load(this),this.transports.push(e))},e.prototype.remove=function(e){var r=this.transports.findIndex((function(r){return r===e}));-1!==r&&tslib_1.__read(this.transports.slice(r,1),1)[0].close()},e.prototype.updateFormat=function(e){e instanceof logger_format_1.Format&&(this.format=e)},e.prototype.log=function(e){for(var r,t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];var s=tslib_1.__read(t,1),n=s[0],i=((r={level:e,message:n,splat:t.slice(1)})[constants_1.LEVEL]=e,r);this.write(i)},e.prototype.createLogFunc=function(e){return function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return this.log.apply(this,tslib_1.__spread([e],r))}},e.prototype.write=function(e){if(!this.transports.length)return debugLogger.warn("no transport to consume log");var r=e;if(this.format)try{r=this.format.transform(r)}catch(e){return void debugLogger.error("exec format err",e)}r&&this.transports.forEach((function(e){var t=e.name;e.write(r)||debugLogger.warn("The "+t+"'s pending pool is full")}))},e}();exports.Logger=Logger;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Logger=exports.LogLevel=void 0;var tslib_1=require("tslib"),debugLogger_1=tslib_1.__importDefault(require("../lib/debugLogger")),logger_format_1=require("./logger-format"),LoggerTransport_1=require("./LoggerTransport"),constants_1=require("../constants"),debugLogger=debugLogger_1.default("iot-logger");exports.LogLevel={emerg:0,error:1,warn:2,info:3,debug:4};var Logger=function(){function e(e){var r=void 0===e?{}:e,t=r.format,o=r.level,s=r.transports;if(this.levels=exports.LogLevel,this.transports=[],this.updateFormat(t),o&&"number"!=typeof this.levels[o]){var n=Object.keys(this.levels).toString();debugLogger.warn("level: "+o+" not exist in "+n),this.level="info"}else this.level=o||"info";this.add(s),this.emerg=this.createLogFunc("emerg"),this.error=this.createLogFunc("error"),this.warn=this.createLogFunc("warn"),this.info=this.createLogFunc("info"),this.debug=this.createLogFunc("debug")}return e.prototype.add=function(e){e instanceof LoggerTransport_1.LoggerTransport&&(e.load(this),this.transports.push(e))},e.prototype.remove=function(e){var r=this.transports.findIndex((function(r){return r===e}));-1!==r&&tslib_1.__read(this.transports.splice(r,1),1)[0].close()},e.prototype.updateFormat=function(e){e instanceof logger_format_1.Format&&(this.format=e)},e.prototype.log=function(e,r,t){var o,s=((o={level:e,message:r,splat:t})[constants_1.LEVEL]=e,o);this.write(s)},e.prototype.createLogFunc=function(e){return function(r){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];try{return this.log(e,r,t)}catch(e){debugLogger.error("exec log fail",e)}}},e.prototype.write=function(e){if(!this.transports.length)return debugLogger.warn("no transport to consume log");var r=e;if(this.format)try{r=this.format.transform(r)}catch(e){return void debugLogger.error("exec format err",e)}r&&this.transports.forEach((function(e){var t=e.name;e.write(r)||debugLogger.warn("The "+t+"'s pending pool is full")}))},e}();exports.Logger=Logger;
//# sourceMappingURL=Logger.js.map

@@ -12,5 +12,7 @@ import { Writeable, WriteableOptions } from '../lib/stream';

readonly level: LogType;
private intervalFormat;
private parent;
private format;
constructor({ name, level, format, ...opts }: LoggerTransportOptions);
get format(): Format;
set format(format: Format);
load(logger: Logger): void;

@@ -17,0 +19,0 @@ protected _write(log: LogInfo, cb: any): void;

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LoggerTransport=void 0;var tslib_1=require("tslib"),stream_1=require("../lib/stream"),error_1=tslib_1.__importDefault(require("../lib/error")),debugLogger_1=tslib_1.__importDefault(require("../lib/debugLogger")),logger_format_1=require("./logger-format"),constants_1=require("../constants"),debuggerLogger=debugLogger_1.default("iot-logger-transport"),ERR_METHOD_NOT_IMPLEMENTED=error_1.default.ERR_METHOD_NOT_IMPLEMENTED,ERR_INVALID_OPT_VALUE=error_1.default.ERR_INVALID_OPT_VALUE,LoggerTransport=function(r){function e(e){var t=e.name,o=e.level,n=e.format,s=tslib_1.__rest(e,["name","level","format"]),i=r.call(this,s)||this;if(!t)throw new ERR_INVALID_OPT_VALUE("name",t);return i.name=String(t),i.level=o,n instanceof logger_format_1.Format&&(i.format=n),i}return tslib_1.__extends(e,r),e.prototype.load=function(r){this.parent=r},e.prototype._write=function(r,e){var t=this.resolveLogs([r]);t.length?this.log(t[0],e):e()},e.prototype._writev=function(r,e){var t=this.resolveLogs(r);t.length?this.logBatch(t,e):e()},e.prototype._destroy=function(){this.parent=null,this.destroy()},e.prototype.destroy=function(){debuggerLogger.warn(new ERR_METHOD_NOT_IMPLEMENTED("destroy()"))},e.prototype.log=function(r,e){throw new ERR_METHOD_NOT_IMPLEMENTED("log()")},e.prototype.logBatch=function(r,e){throw new ERR_METHOD_NOT_IMPLEMENTED("logBatch()")},e.prototype.resolveLogs=function(r){var e=this,t="number"==typeof this.parent.levels[this.level]?this.level:this.parent.level,o=this.parent.levels;return r.filter((function(r){return o[t]>=o[r[constants_1.LEVEL]]})).map((function(r){if(!e.format)return tslib_1.__assign({},r);try{return e.format.transform(tslib_1.__assign({},r))}catch(r){debuggerLogger.error("exec format error",r)}})).filter((function(r){return!!r}))},e}(stream_1.Writeable);exports.LoggerTransport=LoggerTransport;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LoggerTransport=void 0;var tslib_1=require("tslib"),stream_1=require("../lib/stream"),error_1=tslib_1.__importDefault(require("../lib/error")),debugLogger_1=tslib_1.__importDefault(require("../lib/debugLogger")),logger_format_1=require("./logger-format"),constants_1=require("../constants"),debuggerLogger=debugLogger_1.default("iot-logger-transport"),ERR_METHOD_NOT_IMPLEMENTED=error_1.default.ERR_METHOD_NOT_IMPLEMENTED,ERR_INVALID_OPT_VALUE=error_1.default.ERR_INVALID_OPT_VALUE,LoggerTransport=function(t){function r(r){var e=r.name,o=r.level,n=r.format,i=tslib_1.__rest(r,["name","level","format"]),s=t.call(this,i)||this;if(!e)throw new ERR_INVALID_OPT_VALUE("name",e);return s.name=String(e),s.level=o,n instanceof logger_format_1.Format&&(s.intervalFormat=n),s}return tslib_1.__extends(r,t),Object.defineProperty(r.prototype,"format",{get:function(){return this.intervalFormat},set:function(t){t instanceof logger_format_1.Format&&(this.intervalFormat=t)},enumerable:!1,configurable:!0}),r.prototype.load=function(t){this.parent=t},r.prototype._write=function(t,r){var e=this.resolveLogs([t]);e.length?this.log(e[0],r):r()},r.prototype._writev=function(t,r){var e=this.resolveLogs(t);e.length?this.logBatch(e,r):r()},r.prototype._destroy=function(){this.parent=null,this.destroy()},r.prototype.destroy=function(){debuggerLogger.warn(new ERR_METHOD_NOT_IMPLEMENTED("destroy()"))},r.prototype.log=function(t,r){throw new ERR_METHOD_NOT_IMPLEMENTED("log()")},r.prototype.logBatch=function(t,r){throw new ERR_METHOD_NOT_IMPLEMENTED("logBatch()")},r.prototype.resolveLogs=function(t){var r=this,e="number"==typeof this.parent.levels[this.level]?this.level:this.parent.level,o=this.parent.levels;return t.filter((function(t){return o[e]>=o[t[constants_1.LEVEL]]})).map((function(t){if(!r.format)return tslib_1.__assign({},t);try{return r.format.transform(tslib_1.__assign({},t))}catch(t){debuggerLogger.error("exec format error",t)}})).filter((function(t){return!!t}))},r}(stream_1.Writeable);exports.LoggerTransport=LoggerTransport;
//# sourceMappingURL=LoggerTransport.js.map

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),index_1=tslib_1.__importDefault(require("./index"));index_1.default.updateGetReportData((function(){return{app:"应用名",event:"事件名",level:"日志等级",metric:{kk1:"check",type:"指标类型,取值 visit,start,end,success,fail,timeout,若有则可以根据事件名进行通用的 成功率/PV/UV/计数 统计分析",timeCost:1e3,oh:"no"},context:{appVersion:"3.9.1",wxVersion:"8.0.25",mpLibVersion:"2.25.2",uin:"用户 ID",lid:"应用生命周期 ID",anonymousId:"12321",productId:"产品 ID",deviceName:"设备名称",bleDeviceId:"蓝牙设备 ID",flowId:"流程 ID,比如页面生命周期、配网、蓝牙绑定",reqId:"请求 ID"},data:"事件的明细数据 JSON",message:"可读的日志描述文本",at:+new Date,born:+new Date,stack:"JS 堆栈信息"}}));var bluetoothAdapter=index_1.default.derive((function(){return{event:"ble",metric:{k1:"k1",timeCost:400,metric:{a:1}},context:{wxVersion:"8.0.96"}}})),bluetoothAdapter2=bluetoothAdapter.derive((function(){return{event:"standard.%s",metric:{k2:"k2",timeCost:900}}}));console.log("start"),bluetoothAdapter2.warn("kk2",{message:"oh no",metric:{metric:{b:1},timeCost:300},context:{appVersion:"3.9.2"}}),console.log("end");
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),index_1=tslib_1.__importDefault(require("./index"));index_1.default.updateGetReportData((function(){return{app:"应用名",event:"事件名",level:"日志等级",metric:{kk1:"check",type:"指标类型,取值 visit,start,end,success,fail,timeout,若有则可以根据事件名进行通用的 成功率/PV/UV/计数 统计分析",timeCost:1e3,oh:"no"},context:{appVersion:"3.9.1",wxVersion:"8.0.25",mpLibVersion:"2.25.2",uin:"用户 ID",lid:"应用生命周期 ID",anonymousId:"12321",productId:"产品 ID",deviceName:"设备名称",bleDeviceId:"蓝牙设备 ID",flowId:"流程 ID,比如页面生命周期、配网、蓝牙绑定",reqId:"请求 ID"},data:"事件的明细数据 JSON",at:+new Date,born:+new Date,stack:"JS 堆栈信息"}}));var bluetoothAdapter=index_1.default.derive((function(){return{event:"ble",metric:{k1:"k1",timeCost:400,metric:{a:1}},context:{wxVersion:"8.0.96"}}})),bluetoothAdapter2=bluetoothAdapter.derive((function(){return{event:"standard.*",metric:{k2:"k2",timeCost:900}}}));console.log("start"),bluetoothAdapter2.warn("kk2",{message:"oh no",metric:{metric:{b:1},timeCost:300},context:{appVersion:"3.9.2"}}),bluetoothAdapter2.event("custom").info("k1",null,{a:1,context:{b:12}}),bluetoothAdapter2.info("kk3",{k2:1}),console.log("end1");
//# sourceMappingURL=test.js.map
{
"name": "qcloud-iotexplorer-logger",
"version": "0.0.4",
"version": "0.0.8",
"description": "",

@@ -22,3 +22,3 @@ "main": "lib/index.js",

},
"gitHead": "3b68e71834d87089c7c410fcba75767234684ba6"
"gitHead": "cb71ed4e0a8980f7b6ff65a7c3f5cf35575533be"
}

@@ -33,3 +33,3 @@ import { Format, LoggerTransport, LogType } from '../logger';

if (Array.isArray(specLogArgs) && specLogArgs.length) {
fn.call(console, ...specLogArgs);
fn.apply(console, specLogArgs);
} else {

@@ -36,0 +36,0 @@ fn.call(console, log.message);

@@ -35,2 +35,3 @@ import { LoggerTransport, LoggerTransportOptions } from '../../logger';

level = 'info',
consumeImme = false,
maxRetryTime = DEFAULT_MAX_RETRY_TIME,

@@ -45,2 +46,3 @@ errDelayTime = DEFAULT_ERR_DELAY_TIME,

consumeNum,
consumeImme,
level,

@@ -47,0 +49,0 @@ name: 'ElasticsearchTransport',

@@ -1,2 +0,2 @@

export * from './Stream';
export * from './Pool';
export * from './Writeable';

@@ -1,2 +0,2 @@

import { Stream, StreamOptions } from './Stream';
import { Pool, PoolOptions } from './Pool';
import errorCodes from '../error';

@@ -14,12 +14,23 @@ import createDebuggerLogger from '../debugLogger';

const DEFAULT_BATCH_CONSUME_NUM = 10;
const DEFAULT_CONSUME_CHECK_INTERVAL = 2000;
const DEFAULT_MAX_CONSUME_IDLE_TIME = 3000;
export interface WriteableOptions extends StreamOptions {
export interface WriteableOptions extends PoolOptions {
batchConsume?: boolean;
consumeNum?: number;
consumeImme?: boolean;
consumeCheckInterval?: number;
maxConsumeIdleTime?: number;
}
export class Writeable extends Stream {
export class Writeable extends Pool {
protected readonly batchConsume: boolean;
protected readonly consumeNum: number;
protected readonly consumeCheckInterval?: number;
protected readonly maxConsumeIdleTime?: number;
private consumeImme?: boolean;
private lastConsumeTime = 0;
private checkTid;
private isWriting = false;

@@ -42,2 +53,5 @@ private isClosing = false;

consumeNum,
consumeImme = true,
consumeCheckInterval,
maxConsumeIdleTime,
...opts

@@ -61,2 +75,6 @@ }: WriteableOptions = {}) {

this.consumeImme = !!consumeImme;
this.consumeCheckInterval = consumeCheckInterval || DEFAULT_CONSUME_CHECK_INTERVAL;
this.maxConsumeIdleTime = Math.max(maxConsumeIdleTime || DEFAULT_MAX_CONSUME_IDLE_TIME, this.consumeCheckInterval);
this.onAfterWrite = (err) => {

@@ -67,3 +85,5 @@ this.delChunks(this.writeLen);

Promise.resolve().then(() => this.doWrite());
if (this.consumeImme) {
Promise.resolve().then(() => this.doWrite());
}

@@ -75,2 +95,10 @@ if (typeof this.writeCb === 'function') {

this.writeCb = null;
if (this.chunkLinkListLen <= 0) {
typeof this.emptyCb === 'function' && this.emptyCb();
if (this.isClosing && typeof this.closeCb === 'function') {
this.closeCb();
}
}
}

@@ -80,7 +108,15 @@

try {
this.stopPollingCheck();
this._destroy();
} catch (err) {
debuggerLogger.error('exec _destroy err', err);
} finally {
// 最多仅能触发一次
this.closeCb = null;
}
}
if (!this.consumeImme) {
this.startPollingCheck();
}
}

@@ -107,3 +143,5 @@

this.doWrite();
if (this.consumeImme) {
this.doWrite();
}

@@ -124,2 +162,4 @@ return ret;

this.flushPromise = new Promise((resolve) => {
let consumeImmeCache = this.consumeImme;
this.emptyCb = () => {

@@ -129,3 +169,9 @@ resolve();

this.flushPromise = null;
// 清空后,恢复之前设置的值
this.consumeImme = consumeImmeCache;
consumeImmeCache = null;
};
// 用户调用flush,表明想尽快清空pool,因此将标志位consumeImme强制设置为true
this.consumeImme = true;
this.doWrite();
});

@@ -137,2 +183,20 @@ }

startPollingCheck() {
if (this.consumeImme || this.isClosing) {
return;
}
this.stopPollingCheck();
this.checkTid = setInterval(() => {
if (this.chunkLinkListLen >= this.consumeNum || +new Date() - this.lastConsumeTime >= this.maxConsumeIdleTime) {
this.lastConsumeTime = +new Date();
this.doWrite();
}
}, this.consumeCheckInterval);
}
stopPollingCheck() {
clearInterval(this.checkTid);
}
private doWrite() {

@@ -146,13 +210,2 @@ if (this.isWriting || this.isStopping) {

if (chunks.length <= 0) {
typeof this.emptyCb === 'function' && this.emptyCb();
if (this.isClosing && typeof this.closeCb === 'function') {
try {
this.closeCb();
} finally {
// 最多仅能触发一次
this.closeCb = null;
}
}
return;

@@ -159,0 +212,0 @@ }

@@ -12,2 +12,4 @@ import errorCodes from '../../lib/error';

}
return true;
};

@@ -14,0 +16,0 @@

@@ -82,3 +82,3 @@ import createDebuggerLogger from '../lib/debugLogger';

if (index !== -1) {
const [transport] = this.transports.slice(index, 1);
const [transport] = this.transports.splice(index, 1);

@@ -95,8 +95,7 @@ transport.close();

private log(level: LogType, ...splat) {
const [msg] = splat;
private log(level: LogType, msg: unknown, splat: unknown[]) {
const info = {
level,
message: msg,
splat: splat.slice(1),
splat,
// 预防level在执行format时被串改

@@ -109,6 +108,10 @@ [LEVEL]: level,

private createLogFunc(type: LogType): LoggerFunc {
private createLogFunc(level: LogType): LoggerFunc {
// 这里不能使用箭头函数,否则this上下文会绑定死当前的Logger实例,影响InsightLogger的继承
return function (...args) {
return this.log(type, ...args);
return function (msg, ...splat) {
try {
return this.log(level, msg, splat);
} catch (err) {
debugLogger.error('exec log fail', err);
}
};

@@ -115,0 +118,0 @@ }

@@ -24,4 +24,4 @@ import { Writeable, WriteableOptions } from '../lib/stream';

readonly level: LogType;
private intervalFormat: Format;
private parent: Logger;
private format: Format;

@@ -44,6 +44,16 @@ constructor({

if (format instanceof Format) {
this.format = format;
this.intervalFormat = format;
}
}
get format() {
return this.intervalFormat;
}
set format(format: Format) {
if (format instanceof Format) {
this.intervalFormat = format;
}
}
load(logger: Logger) {

@@ -50,0 +60,0 @@ this.parent = logger;

@@ -48,3 +48,3 @@ import insightLogger from './index';

data: '事件的明细数据 JSON',
message: '可读的日志描述文本',
// message: '可读的日志描述文本',
at: +new Date(), // 当前日志的生成时间(必须有,否则 kibana 里面查询不到这条日志,若缺少该字段则自动填写为上报时间)

@@ -68,3 +68,3 @@ born: +new Date(), // 当前 lid 的启动时间,若有会自动计算 life = at - born

const bluetoothAdapter2 = bluetoothAdapter.derive(() => ({
event: 'standard.%s',
event: 'standard.*',
metric: {

@@ -89,6 +89,9 @@ k2: 'k2',

bluetoothAdapter2.event('custom').info('k1', null, { a: 1, context: { b: 12 } });
// bluetoothAdapter2.warn('kk3', 'yes yes yes');
// bluetoothAdapter2.warn('kk4', 'delay no more');
// bluetoothAdapter2.emerg('kk5', 'delay no more');
bluetoothAdapter2.info('kk3', { k2: 1 });
console.log('end');
console.log('end1');

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc