Skip to content

Commit 01f1923

Browse files
committed
Merge remote-tracking branch 'origin/dev'
# Conflicts: # dist/logline.min.js # dist/logline.min.js.map
2 parents 5b38582 + a0085ec commit 01f1923

File tree

12 files changed

+169
-31
lines changed

12 files changed

+169
-31
lines changed

.babelrc

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
11
{
2-
"presets": [ "es2015-rollup" ]
2+
"presets": [
3+
[
4+
"env",
5+
{
6+
"modules": false
7+
}
8+
]
9+
],
10+
"plugins": [
11+
"external-helpers",
12+
"transform-object-assign"
13+
]
314
}

.eslintrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"seajs": true,
1515
"G_SPEED_TTL": true,
1616
"iScroll": true,
17-
"Promise": true
17+
"Promise": true,
18+
"Logline": true
1819
},
1920
"rules": {
2021
"strict": [1, "function"], // 要求严格模式

build/rollup.build.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ export default {
1515
sourceMap: process.env.NODE_ENV === 'production',
1616
plugins: [
1717
babel({
18-
exclude: 'node_modules/**'
18+
exclude: 'node_modules/**',
19+
runtimeHelpers: true
1920
}),
2021
(process.env.NODE_ENV === 'production' && uglify()),
2122
license({

dist/logline.js

Lines changed: 72 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,21 @@ var createClass = function () {
5050

5151

5252

53-
var get = function get(object, property, receiver) {
53+
var _extends = Object.assign || function (target) {
54+
for (var i = 1; i < arguments.length; i++) {
55+
var source = arguments[i];
56+
57+
for (var key in source) {
58+
if (Object.prototype.hasOwnProperty.call(source, key)) {
59+
target[key] = source[key];
60+
}
61+
}
62+
}
63+
64+
return target;
65+
};
66+
67+
var get$1 = function get(object, property, receiver) {
5468
if (object === null) object = Function.prototype;
5569
var desc = Object.getOwnPropertyDescriptor(object, property);
5670

@@ -109,6 +123,30 @@ var possibleConstructorReturn = function (self, call) {
109123
return call && (typeof call === "object" || typeof call === "function") ? call : self;
110124
};
111125

126+
var DEFAULT_CONFIG = {
127+
verbose: true
128+
};
129+
130+
var store = _extends({}, DEFAULT_CONFIG);
131+
132+
function get$$1(key) {
133+
return key ? store[key] : store;
134+
}
135+
136+
function set$$1(key, value) {
137+
var changes = {};
138+
if (typeof key === 'string') {
139+
changes[key] = value;
140+
} else if (Object.prototype.toString.call(key) === '[object Object]') {
141+
changes = key;
142+
}
143+
_extends(store, changes);
144+
}
145+
146+
var config = set$$1;
147+
config.set = set$$1;
148+
config.get = get$$1;
149+
112150
var HAS_CONSOLE = window.console;
113151
var LEVEL_CONSOLE_MAP = {
114152
INFO: 'log',
@@ -125,7 +163,7 @@ function throwError(errMessage) {
125163
// print debug info in develper's console
126164
// TODO: if WechatFE/vConsole is detected, will not use %c feature, as it is not well supported
127165
function debug(namespace, level, descriptor, data) {
128-
if (HAS_CONSOLE && window.Logline && window.Logline.env && window.Logline.env.verbose) {
166+
if (HAS_CONSOLE && config.get().verbose) {
129167
window.console[LEVEL_CONSOLE_MAP[level.toUpperCase()] || LEVEL_CONSOLE_MAP.INFO](namespace + ' ' + level.toUpperCase() + ' ' + descriptor, data || '');
130168
}
131169
}
@@ -495,15 +533,15 @@ var IndexedDBLogger = function (_LoggerInterface) {
495533

496534
IndexedDBLogger._pool = IndexedDBLogger._pool || new Pool();
497535
IndexedDBLogger._database = database || 'logline';
498-
IndexedDBLogger.status = get(IndexedDBLogger.__proto__ || Object.getPrototypeOf(IndexedDBLogger), 'STATUS', this).INITING;
536+
IndexedDBLogger.status = get$1(IndexedDBLogger.__proto__ || Object.getPrototypeOf(IndexedDBLogger), 'STATUS', this).INITING;
499537

500538
IndexedDBLogger.request = window.indexedDB.open(IndexedDBLogger._database);
501539
IndexedDBLogger.request.onerror = function (event) {
502540
return throwError('protocol indexeddb is prevented.');
503541
};
504542
IndexedDBLogger.request.onsuccess = function (event) {
505543
IndexedDBLogger.db = event.target.result;
506-
IndexedDBLogger.status = get(IndexedDBLogger.__proto__ || Object.getPrototypeOf(IndexedDBLogger), 'STATUS', _this3).INITED;
544+
IndexedDBLogger.status = get$1(IndexedDBLogger.__proto__ || Object.getPrototypeOf(IndexedDBLogger), 'STATUS', _this3).INITED;
507545
IndexedDBLogger._pool.consume();
508546
// globally handle db request errors
509547
IndexedDBLogger.db.onerror = function (event) {
@@ -538,7 +576,7 @@ var IndexedDBLogger = function (_LoggerInterface) {
538576
key: 'get',
539577
value: function get$$1(from, to, readyFn) {
540578
try {
541-
if (IndexedDBLogger.status !== get(IndexedDBLogger.__proto__ || Object.getPrototypeOf(IndexedDBLogger), 'STATUS', this).INITED) {
579+
if (IndexedDBLogger.status !== get$1(IndexedDBLogger.__proto__ || Object.getPrototypeOf(IndexedDBLogger), 'STATUS', this).INITED) {
542580
return IndexedDBLogger._pool.push(function () {
543581
return IndexedDBLogger.get(from, to, readyFn);
544582
});
@@ -605,7 +643,7 @@ var IndexedDBLogger = function (_LoggerInterface) {
605643
key: 'keep',
606644
value: function keep(daysToMaintain) {
607645
try {
608-
if (IndexedDBLogger.status !== get(IndexedDBLogger.__proto__ || Object.getPrototypeOf(IndexedDBLogger), 'STATUS', this).INITED) {
646+
if (IndexedDBLogger.status !== get$1(IndexedDBLogger.__proto__ || Object.getPrototypeOf(IndexedDBLogger), 'STATUS', this).INITED) {
609647
return IndexedDBLogger._pool.push(function () {
610648
return IndexedDBLogger.keep(daysToMaintain);
611649
});
@@ -648,7 +686,7 @@ var IndexedDBLogger = function (_LoggerInterface) {
648686
key: 'clean',
649687
value: function clean() {
650688
try {
651-
if (IndexedDBLogger.status !== get(IndexedDBLogger.__proto__ || Object.getPrototypeOf(IndexedDBLogger), 'STATUS', this).INITED) {
689+
if (IndexedDBLogger.status !== get$1(IndexedDBLogger.__proto__ || Object.getPrototypeOf(IndexedDBLogger), 'STATUS', this).INITED) {
652690
return IndexedDBLogger._pool.push(function () {
653691
return IndexedDBLogger.clean();
654692
});
@@ -786,7 +824,7 @@ var LocalStorageLogger = function (_LoggerInterface) {
786824
if (!window.localStorage.getItem(LocalStorageLogger._database)) {
787825
window.localStorage.setItem(LocalStorageLogger._database, JSON.stringify([]));
788826
}
789-
LocalStorageLogger.status = get(LocalStorageLogger.__proto__ || Object.getPrototypeOf(LocalStorageLogger), 'STATUS', this).INITED;
827+
LocalStorageLogger.status = get$1(LocalStorageLogger.__proto__ || Object.getPrototypeOf(LocalStorageLogger), 'STATUS', this).INITED;
790828
} catch (e) {
791829
throwError('failed to init, ' + e.message);
792830
}
@@ -968,16 +1006,16 @@ var WebsqlLogger = function (_LoggerInterface) {
9681006

9691007
WebsqlLogger._pool = WebsqlLogger._pool || new Pool();
9701008
WebsqlLogger._database = database || 'logline';
971-
WebsqlLogger.status = get(WebsqlLogger.__proto__ || Object.getPrototypeOf(WebsqlLogger), 'STATUS', this).INITING;
1009+
WebsqlLogger.status = get$1(WebsqlLogger.__proto__ || Object.getPrototypeOf(WebsqlLogger), 'STATUS', this).INITING;
9721010

9731011
try {
9741012
WebsqlLogger._db = window.openDatabase(WebsqlLogger._database, '1.0', 'cats loves logs', 4.85 * 1024 * 1024);
9751013
WebsqlLogger._db.transaction(function (tx) {
9761014
tx.executeSql('CREATE TABLE IF NOT EXISTS logs (time, namespace, level, descriptor, data)', [], function () {
977-
WebsqlLogger.status = get(WebsqlLogger.__proto__ || Object.getPrototypeOf(WebsqlLogger), 'STATUS', _this3).INITED;
1015+
WebsqlLogger.status = get$1(WebsqlLogger.__proto__ || Object.getPrototypeOf(WebsqlLogger), 'STATUS', _this3).INITED;
9781016
WebsqlLogger._pool.consume();
9791017
}, function (tx, e) {
980-
WebsqlLogger.status = get(WebsqlLogger.__proto__ || Object.getPrototypeOf(WebsqlLogger), 'STATUS', _this3).FAILED;
1018+
WebsqlLogger.status = get$1(WebsqlLogger.__proto__ || Object.getPrototypeOf(WebsqlLogger), 'STATUS', _this3).FAILED;
9811019
throwError('unable to create table, ' + e.message);
9821020
});
9831021
});
@@ -999,7 +1037,7 @@ var WebsqlLogger = function (_LoggerInterface) {
9991037
}, {
10001038
key: 'get',
10011039
value: function get$$1(from, to, readyFn) {
1002-
if (WebsqlLogger.status !== get(WebsqlLogger.__proto__ || Object.getPrototypeOf(WebsqlLogger), 'STATUS', this).INITED) {
1040+
if (WebsqlLogger.status !== get$1(WebsqlLogger.__proto__ || Object.getPrototypeOf(WebsqlLogger), 'STATUS', this).INITED) {
10031041
return WebsqlLogger._pool.push(function () {
10041042
return WebsqlLogger.get(from, to, readyFn);
10051043
});
@@ -1050,7 +1088,7 @@ var WebsqlLogger = function (_LoggerInterface) {
10501088
}, {
10511089
key: 'keep',
10521090
value: function keep(daysToMaintain) {
1053-
if (WebsqlLogger.status !== get(WebsqlLogger.__proto__ || Object.getPrototypeOf(WebsqlLogger), 'STATUS', this).INITED) {
1091+
if (WebsqlLogger.status !== get$1(WebsqlLogger.__proto__ || Object.getPrototypeOf(WebsqlLogger), 'STATUS', this).INITED) {
10541092
return WebsqlLogger._pool.push(function () {
10551093
return WebsqlLogger.keep(daysToMaintain);
10561094
});
@@ -1082,7 +1120,7 @@ var WebsqlLogger = function (_LoggerInterface) {
10821120
}, {
10831121
key: 'clean',
10841122
value: function clean() {
1085-
if (WebsqlLogger.status !== get(WebsqlLogger.__proto__ || Object.getPrototypeOf(WebsqlLogger), 'STATUS', this).INITED) {
1123+
if (WebsqlLogger.status !== get$1(WebsqlLogger.__proto__ || Object.getPrototypeOf(WebsqlLogger), 'STATUS', this).INITED) {
10861124
WebsqlLogger._pool.push(function () {
10871125
return WebsqlLogger.clean();
10881126
});
@@ -1138,17 +1176,26 @@ var Logline = function () {
11381176
}
11391177

11401178
/**
1141-
* choose a protocol to initialize
1142-
* @method _initProtocol
1143-
* @private
1144-
* @static
1145-
* @param {Object Protocol Class} protocol - protocol to use, must under Logline.PROTOCOL
1146-
* @return {Object} Logline
1179+
* change config
1180+
* @method config
1181+
* @param {String|Object} key - config key, or config object
1182+
* @param {Any} [value] - new config value
1183+
* @return {Void}
11471184
*/
11481185

11491186

11501187
createClass(Logline, null, [{
11511188
key: '_initProtocol',
1189+
1190+
1191+
/**
1192+
* choose a protocol to initialize
1193+
* @method _initProtocol
1194+
* @private
1195+
* @static
1196+
* @param {Object Protocol Class} protocol - protocol to use, must under Logline.PROTOCOL
1197+
* @return {Object} Logline
1198+
*/
11521199
value: function _initProtocol(protocol) {
11531200
Logline._protocol = protocol;
11541201
Logline._protocol.init(Logline._database || 'logline');
@@ -1295,6 +1342,11 @@ var Logline = function () {
12951342
value: function database(name) {
12961343
Logline._database = name;
12971344
}
1345+
}, {
1346+
key: 'config',
1347+
get: function get$$1() {
1348+
return config;
1349+
}
12981350
}]);
12991351
return Logline;
13001352
}();

0 commit comments

Comments
 (0)