diff --git a/copay.js b/copay.js
index 511a3dafd..f3d332743 100644
--- a/copay.js
+++ b/copay.js
@@ -6,6 +6,7 @@ module.exports.PrivateKey = require('./js/models/PrivateKey');
module.exports.HDPath = require('./js/models/HDPath');
module.exports.HDParams = require('./js/models/HDParams');
module.exports.crypto = require('./js/util/crypto');
+module.exports.logger = require('./js/log');
// components
diff --git a/js/controllers/settings.js b/js/controllers/settings.js
index b629c459c..65322603d 100644
--- a/js/controllers/settings.js
+++ b/js/controllers/settings.js
@@ -1,32 +1,28 @@
'use strict';
+
angular.module('copayApp.controllers').controller('SettingsController', function($scope, $rootScope, $window, $location, controllerUtils, notification) {
controllerUtils.redirIfLogged();
+
+
+
+
$scope.title = 'Settings';
$scope.defaultLanguage = config.defaultLanguage || 'en';
$scope.insightLivenet = config.network.livenet.url;
$scope.insightTestnet = config.network.testnet.url;
$scope.defaultLogLevel = config.logLevel || 'log';
+ var logLevels = copay.logger.getLevels();
+
+ $scope.availableLogLevels = [];
- //$scope.availableLogLevels = logger.levels;
-
- $scope.availableLogLevels = {
- 'debug': 0,
- 'info': 1,
- 'log': 2,
- 'warn': 3,
- 'error': 4,
- 'fatal': 5
- };
-
- console.log($scope.defaultLogLevel);
- console.log($scope.availableLogLevels);
-
- for (var key in $scope.availableLogLevels) {
- console.log("Ele " + key + " -- " + $scope.availableLogLevels[key])
+ for (var key in logLevels) {
+ $scope.availableLogLevels.push({
+ 'name': key
+ });
}
$scope.availableStorages = [{
@@ -63,7 +59,7 @@ angular.module('copayApp.controllers').controller('SettingsController', function
}
for (var ii in $scope.availableLogLevels) {
- if ($scope.defaultLogLevel === $scope.availableLogLevels[ii]) {
+ if ($scope.defaultLogLevel === $scope.availableLogLevels[ii].name) {
$scope.selectedLogLevel = $scope.availableLogLevels[ii];
break;
}
@@ -84,17 +80,17 @@ angular.module('copayApp.controllers').controller('SettingsController', function
},
}
+
var plugins = {};
plugins[$scope.selectedStorage.pluginName] = true;
-
- logger.setLevel($scope.selectedLogLevel);
+ copay.logger.setLevel($scope.selectedLogLevel.name);
localStorage.setItem('config', JSON.stringify({
network: insightSettings,
version: copay.version,
defaultLanguage: $scope.selectedLanguage.isoCode,
plugins: plugins,
- logLevel: $scope.selectedLogLevel,
+ logLevel: $scope.selectedLogLevel.name,
}));
// Go home reloading the application
diff --git a/js/log.js b/js/log.js
index 4b278eebf..1d7c7c776 100644
--- a/js/log.js
+++ b/js/log.js
@@ -1,6 +1,7 @@
-var config = require('../config');
+var config = config || require('../config');
var _ = require('lodash');
+
/**
* @desc
* A simple logger that wraps the console.log methods when available.
@@ -22,6 +23,10 @@ var Logger = function(name) {
this.level = 2;
};
+Logger.prototype.getLevels = function() {
+ return levels;
+};
+
var levels = {
'debug': 0,
@@ -112,5 +117,15 @@ Logger.prototype.setLevel = function(level) {
*/
var logger = new Logger('copay');
-logger.setLevel(config.logLevel);
+var error = new Error();
+
+var logLevel = config.logLevel;
+
+if (typeof localStorage !== "undefined" && localStorage.getItem) {
+ var localConfig = JSON.parse(localStorage.getItem("config"));
+ if (localConfig && localConfig.logLevel)
+ logLevel = localConfig.logLevel;
+}
+
+logger.setLevel(logLevel);
module.exports = logger;
diff --git a/views/settings.html b/views/settings.html
index f0c097c16..436218ba7 100644
--- a/views/settings.html
+++ b/views/settings.html
@@ -36,7 +36,7 @@
-