diff options
Diffstat (limited to 'diller.js')
-rw-r--r-- | diller.js | 67 |
1 files changed, 6 insertions, 61 deletions
@@ -1,63 +1,8 @@ -var mqtt = require('mqtt'); -var fs = require('fs'); -var bunyan = require('bunyan'); +var di = require('di'); +var injector = new di.Injector(); -var config = require('./src/config'); +var config = injector.get(require('./src/DillerConfig')); +config.configureLogging('mqtt'); -function configureLogging(config) { - var cfg = { - name: 'main' - }; - - if (config.isProd()) { - cfg.streams = [ - { - level: 'warn', - stream: process.stdout - }, - { - level: 'debug', - path: 'log/diller.log' - } - ]; - - var stat; - try { - stat = fs.lstatSync('log'); - } catch (e) { - // Assume this to to be ENOENT - fs.mkdirSync('log'); - } - if (stat && !stat.isDirectory()) { - throw 'Not a directory: log'; - } - } - - return bunyan.createLogger(cfg); -} - -var log = configureLogging(config); - -var Diller = require('./src/Diller').Diller; - -var diller = new Diller(config, log); - -log.info('Connecting to ' + config.mqttUrl); -var mqttClient = mqtt.connect(config.mqttUrl); - -mqttClient.on('offline', function () { - log.info('offline'); -}); - -mqttClient.on('error', function (error) { - log.info('error', {error: error}); -}); - -mqttClient.on('connect', function () { - log.info('Connected'); - mqttClient.subscribe('/diller/#'); -}); - -mqttClient.on('message', function (topic, message, payload) { - diller.onMessage(topic, message, payload); -}); +var dillerMqtt = injector.get(require('./src/mqtt/DillerMqtt')); +dillerMqtt.run(); |