From b270cc29bed81a0f7e740aa31baeea363c2503b4 Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Thu, 11 Feb 2021 14:04:09 +0100 Subject: [PATCH] Can decide to log lektord or not when not in attached mode --- common/config.js | 7 +++++++ common/logger.js | 36 +++++++++++++++++++++++++++++++++++- main.js | 48 ++++++++++-------------------------------------- package.json | 4 ++-- 4 files changed, 54 insertions(+), 41 deletions(-) diff --git a/common/config.js b/common/config.js index f4f04f5..d29c2cf 100644 --- a/common/config.js +++ b/common/config.js @@ -15,6 +15,8 @@ var config = { database: null, host: null, port: null, + loglevel: null, + loglektord: null, reload() { var fd = fs.openSync(__configFile, 'a'); fs.close(fd, err => {}); @@ -22,7 +24,10 @@ var config = { __config.database ??= {}; __config.lektord ??= {}; + __config.log ??= {}; + __config.log.level ??= 'debug'; + __config.log.lektord ??= true; __config.database.path ??= '/home/kara/kara.db'; __config.lektord.host ??= 'localhost'; __config.lektord.port ??= '6600'; @@ -30,6 +35,8 @@ var config = { this.database = __config.database.path; this.host = __config.lektord.host; this.port = __config.lektord.port; + this.loglevel = __config.log.level; + this.loglektord = __config.log.lektord; fs.writeFileSync(__configFile, ini.stringify(__config)); }, diff --git a/common/logger.js b/common/logger.js index c054dbd..72a4bd8 100644 --- a/common/logger.js +++ b/common/logger.js @@ -44,7 +44,7 @@ var __logger = winston.createLogger({ tailable: true, }), ], - level: 'debug', + level: `${config.loglevel}`, json: false, handleExceptions: true, levels: __loggerCustomLevels.levels, @@ -59,8 +59,42 @@ var __logger = winston.createLogger({ ), }); +var __nopLektord = data => {}; +var __lektord = data => { + data.toString() + .split(/\r?\n/) + .forEach(line => { + var line = line.trim(); + if (!line) return; + switch (line[0]) { + case '*': + logger.warn('lektord', line.replace(/^\* (.*)$/g, '$1')); + break; + case '!': + logger.error('lektord', line.replace(/^! (.*)$/g, '$1')); + break; + case '.': + if (line.length >= 2 && line[1] != '.') { + logger.info( + 'lektord', + line.replace(/^\. (.*)$/g, '$1') + ); + break; + } + /* Fallthrough case */ + default: + logger.debug( + 'lektord', + line.replace(/^\.\.\. (.*)$/g, '\t$1') + ); + break; + } + }); +}; + var logger = { logfile: __logFile, + lektord: config.loglektord ? __lektord : __nopLektord, debug: (cat, lg) => { __logger.debug(`${cat.padEnd(10)} | ${lg}`); }, diff --git a/main.js b/main.js index ba0ddb5..4db5cd0 100644 --- a/main.js +++ b/main.js @@ -8,10 +8,14 @@ const logger = require.main.require('./common/logger.js'), var config = require('./common/config.js'); var db = require.main.require('./common/db.js'); var tail = require('tail').Tail; + var client; /* Sub process for the express server */ var lektor; /* Sub process, the lektord player */ var lektor_closed = false; /* Is lektord closed? */ +/* The last thing we got from the search bar */ +var __lastFilter = ''; + var win = null; /* The main window */ /********************** @@ -109,41 +113,7 @@ app.on('ready', () => { }); lektor.stderr.on('data', data => { - data.toString() - .split(/\r?\n/) - .forEach(line => { - var line = line.trim(); - if (!line) return; - switch (line[0]) { - case '*': - logger.warn( - 'lektord', - line.replace(/^\* (.*)$/g, '$1') - ); - break; - case '!': - logger.error( - 'lektord', - line.replace(/^! (.*)$/g, '$1') - ); - break; - case '.': - if (line.length >= 2 && line[1] != '.') { - logger.info( - 'lektord', - line.replace(/^\. (.*)$/g, '$1') - ); - break; - } - /* Fallthrough case */ - default: - logger.debug( - 'lektord', - line.replace(/^\.\.\. (.*)$/g, '\t$1') - ); - break; - } - }); + logger.lektord(data); }); setTimeout(() => { lkt.idleActualisation(); @@ -194,11 +164,13 @@ ipcMain.on('reload-db-request', (event, arg) => { var callback = karas => { event.reply('reload-db-responce', karas); }; - if (arg) { + if (arg && arg.search) { + __lastFilter = arg.search; logger.debug('main', `Reload DB with search '${arg}'`); - db.search(arg, 0, 15).then(callback); + db.search(__lastFilter, 0, 15).then(callback); } else { - db.all(0, 15).then(callback); + logger.debug('main', `Reload DB with last filter '${__lastFilter}'`); + db.search(__lastFilter, 0, 15).then(callback); } }); diff --git a/package.json b/package.json index c6ca0df..f7df599 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { - "name": "lektor-app", + "name": "amadeus", "version": "0.1.0", "main": "main.js", "description": "A lektord manipulation tool, an 'instance'", - "repository": "git@git.iiens.net:bakaclub/lektor-app.git", + "repository": "git@git.iiens.net:bakaclub/amadeus.git", "author": "Bakaclub", "contributors": [ "Kubat <mael.martin31@gmail.com>", -- GitLab