diff --git a/box.js b/box.js index 6298b324c..772ada409 100755 --- a/box.js +++ b/box.js @@ -12,7 +12,7 @@ import server from './src/server.js'; import directoryServer from './src/directoryserver.js'; import logger from './src/logger.js'; -const { log, trace } = logger('box'); +const { log } = logger('box'); let logFd; @@ -94,4 +94,4 @@ process.on('SIGTERM', async function () { }, 2000); // need to wait for the task processes to die }); -process.on('uncaughtException', (error) => exitSync({ error, code: 1, message: 'From uncaughtException handler.' })); +process.on('uncaughtException', (uncaughtError) => exitSync({ error: uncaughtError, code: 1, message: 'From uncaughtException handler.' })); diff --git a/src/acme2.js b/src/acme2.js index 349d6b6ef..98d8b4d1b 100644 --- a/src/acme2.js +++ b/src/acme2.js @@ -12,7 +12,7 @@ import safe from 'safetydance'; import superagent from '@cloudron/superagent'; import users from './users.js'; -const { log, trace } = logger('cert/acme2'); +const { log } = logger('cert/acme2'); const CA_PROD_DIRECTORY_URL = 'https://acme-v02.api.letsencrypt.org/directory', CA_STAGING_DIRECTORY_URL = 'https://acme-staging-v02.api.letsencrypt.org/directory'; diff --git a/src/apphealthmonitor.js b/src/apphealthmonitor.js index cc0ae64ec..5922ca33f 100644 --- a/src/apphealthmonitor.js +++ b/src/apphealthmonitor.js @@ -9,7 +9,7 @@ import eventlog from './eventlog.js'; import safe from 'safetydance'; import superagent from '@cloudron/superagent'; -const { log, trace } = logger('apphealthmonitor'); +const { log } = logger('apphealthmonitor'); const UNHEALTHY_THRESHOLD = 20 * 60 * 1000; // 20 minutes diff --git a/src/applinks.js b/src/applinks.js index 564498282..8c76d52d0 100644 --- a/src/applinks.js +++ b/src/applinks.js @@ -8,7 +8,7 @@ import jsdom from 'jsdom'; import safe from 'safetydance'; import superagent from '@cloudron/superagent'; -const { log, trace } = logger('applinks'); +const { log } = logger('applinks'); const APPLINKS_FIELDS= [ 'id', 'accessRestrictionJson', 'creationTime', 'updateTime', 'ts', 'label', 'tagsJson', 'icon', 'upstreamUri' ].join(','); diff --git a/src/apps.js b/src/apps.js index 1d150a443..f963d9587 100644 --- a/src/apps.js +++ b/src/apps.js @@ -40,7 +40,7 @@ import util from 'node:util'; import volumes from './volumes.js'; import _ from './underscore.js'; -const { log, trace } = logger('apps'); +const { log } = logger('apps'); const shell = shellModule('apps'); const PORT_TYPE_TCP = 'tcp'; @@ -1071,7 +1071,8 @@ async function onTaskFinished(error, appId, installationState, taskId, auditSour } // this can race with an new install task but very unlikely - log(`onTaskFinished: checking to stop unused services. hasPending: ${appTaskManager.hasPendingTasks()}`) + log(`onTaskFinished: checking to stop unused services. hasPending: ${appTaskManager.hasPendingTasks()}`); + if (!appTaskManager.hasPendingTasks()) safe(services.stopUnusedServices(), { debug: log }); } diff --git a/src/appstore.js b/src/appstore.js index 90e968bd3..ed2b90126 100644 --- a/src/appstore.js +++ b/src/appstore.js @@ -23,7 +23,7 @@ import system from './system.js'; import users from './users.js'; import volumes from './volumes.js'; -const { log, trace } = logger('appstore'); +const { log } = logger('appstore'); // These are the default options and will be adjusted once a subscription state is obtained // Keep in sync with appstore/routes/cloudrons.js diff --git a/src/apptask.js b/src/apptask.js index 2487fd9cf..0ec566caa 100644 --- a/src/apptask.js +++ b/src/apptask.js @@ -28,7 +28,7 @@ import services from './services.js'; import shellModule from './shell.js'; import _ from './underscore.js'; -const { log, trace } = logger('apptask'); +const { log } = logger('apptask'); const shell = shellModule('apptask'); const LOGROTATE_CONFIG_EJS = fs.readFileSync(import.meta.dirname + '/logrotate.ejs', { encoding: 'utf8' }), diff --git a/src/apptaskmanager.js b/src/apptaskmanager.js index bdeabf534..b1f59f4b7 100644 --- a/src/apptaskmanager.js +++ b/src/apptaskmanager.js @@ -9,7 +9,7 @@ import safe from 'safetydance'; import scheduler from './scheduler.js'; import tasks from './tasks.js'; -const { log, trace } = logger('apptaskmanager'); +const { log } = logger('apptaskmanager'); const gActiveTasks = {}; // indexed by app id diff --git a/src/asynctask.js b/src/asynctask.js index b5c731acf..e86d4bc71 100644 --- a/src/asynctask.js +++ b/src/asynctask.js @@ -2,7 +2,7 @@ import logger from './logger.js'; import EventEmitter from 'node:events'; import safe from 'safetydance'; -const { log, trace } = logger('asynctask'); +const { log } = logger('asynctask'); // this runs in-process class AsyncTask extends EventEmitter { diff --git a/src/backupcleaner.js b/src/backupcleaner.js index e53a96439..4e2bb686b 100644 --- a/src/backupcleaner.js +++ b/src/backupcleaner.js @@ -11,7 +11,7 @@ import moment from 'moment'; import path from 'node:path'; import safe from 'safetydance'; -const { log, trace } = logger('backupcleaner'); +const { log } = logger('backupcleaner'); function applyBackupRetention(allBackups, retention, referencedBackupIds) { assert(Array.isArray(allBackups)); diff --git a/src/backupformat/rsync.js b/src/backupformat/rsync.js index 126217c3f..c7c3d611e 100644 --- a/src/backupformat/rsync.js +++ b/src/backupformat/rsync.js @@ -19,7 +19,7 @@ import syncer from '../syncer.js'; import util from 'node:util'; import { Writable } from 'node:stream'; -const { log, trace } = logger('backupformat/rsync'); +const { log } = logger('backupformat/rsync'); const shell = shellModule('backupformat/rsync'); async function addFile(sourceFile, encryption, uploader, progressCallback) { diff --git a/src/backupformat/tgz.js b/src/backupformat/tgz.js index f78bf3611..45027c26b 100644 --- a/src/backupformat/tgz.js +++ b/src/backupformat/tgz.js @@ -17,7 +17,7 @@ import tar from 'tar-stream'; import util from 'node:util'; import zlib from 'node:zlib'; -const { log, trace } = logger('backupformat/tgz'); +const { log } = logger('backupformat/tgz'); // In tar, the entry header contains the file size. If we don't provide it those many bytes, the tar will become corrupt // Linux provides no guarantee of how many bytes can be read from a file. This is the case with sqlite and log files diff --git a/src/backupintegrity.js b/src/backupintegrity.js index a0a36247c..f3297e012 100644 --- a/src/backupintegrity.js +++ b/src/backupintegrity.js @@ -8,7 +8,7 @@ import crypto from 'node:crypto'; import logger from './logger.js'; import safe from 'safetydance'; -const { log, trace } = logger('backupintegrity'); +const { log } = logger('backupintegrity'); async function downloadBackupInfo(backupSite, backup) { diff --git a/src/backups.js b/src/backups.js index 5bbcfc0d4..13492a849 100644 --- a/src/backups.js +++ b/src/backups.js @@ -7,7 +7,7 @@ import hat from './hat.js'; import safe from 'safetydance'; import tasks from './tasks.js'; -const { log, trace } = logger('backups'); +const { log } = logger('backups'); const BACKUP_TYPE_APP = 'app'; const BACKUP_STATE_NORMAL = 'normal'; diff --git a/src/backupsites.js b/src/backupsites.js index 60e56b651..8e67eb944 100644 --- a/src/backupsites.js +++ b/src/backupsites.js @@ -18,7 +18,7 @@ import storageFilesystem from './storage/filesystem.js'; import storageS3 from './storage/s3.js'; import storageGcs from './storage/gcs.js'; -const { log, trace } = logger('backups'); +const { log } = logger('backups'); // format: rsync or tgz diff --git a/src/backuptask.js b/src/backuptask.js index e329a1167..92cbc74f6 100644 --- a/src/backuptask.js +++ b/src/backuptask.js @@ -20,7 +20,7 @@ import shellModule from './shell.js'; import stream from 'stream/promises'; import util from 'util'; -const { log, trace } = logger('backuptask'); +const { log } = logger('backuptask'); const shell = shellModule('backuptask'); diff --git a/src/branding.js b/src/branding.js index 8ead49ea4..67374e063 100644 --- a/src/branding.js +++ b/src/branding.js @@ -8,7 +8,7 @@ import paths from './paths.js'; import safe from 'safetydance'; import settings from './settings.js'; -const { log, trace } = logger('branding'); +const { log } = logger('branding'); async function getCloudronName() { diff --git a/src/community.js b/src/community.js index fc3e0e7cc..cfd8a59ce 100644 --- a/src/community.js +++ b/src/community.js @@ -6,7 +6,7 @@ import promiseRetry from './promise-retry.js'; import safe from 'safetydance'; import superagent from '@cloudron/superagent'; -const { log, trace } = logger('community'); +const { log } = logger('community'); const CLOUDRON_VERSIONS_FILE = 'CloudronVersions.json'; diff --git a/src/cron.js b/src/cron.js index 5040319b3..3bad706be 100644 --- a/src/cron.js +++ b/src/cron.js @@ -24,7 +24,7 @@ import system from './system.js'; import updater from './updater.js'; import util from 'node:util'; -const { log, trace } = logger('cron'); +const { log } = logger('cron'); // IMPORTANT: These patterns are together because they spin tasks which acquire a lock // If the patterns overlap all the time, then the task may not ever get a chance to run! diff --git a/src/dashboard.js b/src/dashboard.js index 6155db2a7..8d0beec0a 100644 --- a/src/dashboard.js +++ b/src/dashboard.js @@ -18,7 +18,7 @@ import system from './system.js'; import tasks from './tasks.js'; import userDirectory from './user-directory.js'; -const { log, trace } = logger('dashboard'); +const { log } = logger('dashboard'); async function getLocation() { const domain = await settings.get(settings.DASHBOARD_DOMAIN_KEY); diff --git a/src/database.js b/src/database.js index 79b487366..e40165141 100644 --- a/src/database.js +++ b/src/database.js @@ -7,7 +7,7 @@ import mysql from 'mysql2/promise'; import safe from 'safetydance'; import shellModule from './shell.js'; -const { log, trace } = logger('database'); +const { log } = logger('database'); const shell = shellModule('database'); let gConnectionPool = null; diff --git a/src/df.js b/src/df.js index 4c93a2e73..8126588ca 100644 --- a/src/df.js +++ b/src/df.js @@ -4,7 +4,7 @@ import logger from './logger.js'; import safe from 'safetydance'; import shellModule from './shell.js'; -const { log, trace } = logger('df'); +const { log } = logger('df'); const shell = shellModule('df'); diff --git a/src/directoryserver.js b/src/directoryserver.js index 13a13f2a0..a604e3fca 100644 --- a/src/directoryserver.js +++ b/src/directoryserver.js @@ -16,7 +16,7 @@ import shellModule from './shell.js'; import users from './users.js'; import util from 'node:util'; -const { log, trace } = logger('directoryserver'); +const { log } = logger('directoryserver'); const shell = shellModule('directoryserver'); @@ -289,7 +289,7 @@ async function groupSearch(req, res, next) { async function start() { assert(gServer === null, 'Already running'); - const logger = { + const ldapLogger = { trace: NOOP, debug: NOOP, info: log, @@ -303,7 +303,7 @@ async function start() { gServer = ldap.createServer({ certificate: gCertificate.cert, key: gCertificate.key, - log: logger + log: ldapLogger }); gServer.on('error', function (error) { diff --git a/src/dns.js b/src/dns.js index 99b265973..0f2fd9b05 100644 --- a/src/dns.js +++ b/src/dns.js @@ -36,7 +36,7 @@ import dnsOvh from './dns/ovh.js'; import dnsPorkbun from './dns/porkbun.js'; import dnsWildcard from './dns/wildcard.js'; -const { log, trace } = logger('dns'); +const { log } = logger('dns'); const DNS_PROVIDERS = { diff --git a/src/dns/bunny.js b/src/dns/bunny.js index 1e48eae41..00732b16a 100644 --- a/src/dns/bunny.js +++ b/src/dns/bunny.js @@ -8,7 +8,7 @@ import safe from 'safetydance'; import superagent from '@cloudron/superagent'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/bunny'); +const { log } = logger('dns/bunny'); const BUNNY_API = 'https://api.bunny.net'; diff --git a/src/dns/cloudflare.js b/src/dns/cloudflare.js index 86f7fb4e1..c81a93c9f 100644 --- a/src/dns/cloudflare.js +++ b/src/dns/cloudflare.js @@ -9,7 +9,7 @@ import superagent from '@cloudron/superagent'; import waitForDns from './waitfordns.js'; import _ from '../underscore.js'; -const { log, trace } = logger('dns/cloudflare'); +const { log } = logger('dns/cloudflare'); // we are using latest v4 stable API https://api.cloudflare.com/#getting-started-endpoints diff --git a/src/dns/desec.js b/src/dns/desec.js index e70770888..d7d19897c 100644 --- a/src/dns/desec.js +++ b/src/dns/desec.js @@ -9,7 +9,7 @@ import timers from 'timers/promises'; import superagent from '@cloudron/superagent'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/desec'); +const { log } = logger('dns/desec'); const DESEC_ENDPOINT = 'https://desec.io/api/v1'; diff --git a/src/dns/digitalocean.js b/src/dns/digitalocean.js index e31a847a8..09017d975 100644 --- a/src/dns/digitalocean.js +++ b/src/dns/digitalocean.js @@ -8,7 +8,7 @@ import safe from 'safetydance'; import superagent from '@cloudron/superagent'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/digitalocean'); +const { log } = logger('dns/digitalocean'); const DIGITALOCEAN_ENDPOINT = 'https://api.digitalocean.com'; diff --git a/src/dns/dnsimple.js b/src/dns/dnsimple.js index 90135cadc..6bfe01dfe 100644 --- a/src/dns/dnsimple.js +++ b/src/dns/dnsimple.js @@ -8,7 +8,7 @@ import safe from 'safetydance'; import superagent from '@cloudron/superagent'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/dnsimple'); +const { log } = logger('dns/dnsimple'); const DNSIMPLE_API = 'https://api.dnsimple.com/v2'; diff --git a/src/dns/gandi.js b/src/dns/gandi.js index fed992c79..37d9f1c30 100644 --- a/src/dns/gandi.js +++ b/src/dns/gandi.js @@ -8,7 +8,7 @@ import safe from 'safetydance'; import superagent from '@cloudron/superagent'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/gandi'); +const { log } = logger('dns/gandi'); const GANDI_API = 'https://dns.api.gandi.net/api/v5'; diff --git a/src/dns/gcdns.js b/src/dns/gcdns.js index 60ed229b0..343601aa4 100644 --- a/src/dns/gcdns.js +++ b/src/dns/gcdns.js @@ -9,7 +9,7 @@ import safe from 'safetydance'; import waitForDns from './waitfordns.js'; import _ from '../underscore.js'; -const { log, trace } = logger('dns/gcdns'); +const { log } = logger('dns/gcdns'); function removePrivateFields(domainObject) { diff --git a/src/dns/godaddy.js b/src/dns/godaddy.js index 5337b3ed7..098f13286 100644 --- a/src/dns/godaddy.js +++ b/src/dns/godaddy.js @@ -8,7 +8,7 @@ import safe from 'safetydance'; import superagent from '@cloudron/superagent'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/godaddy'); +const { log } = logger('dns/godaddy'); // const GODADDY_API_OTE = 'https://api.ote-godaddy.com/v1/domains'; diff --git a/src/dns/hetzner.js b/src/dns/hetzner.js index 141201c0e..14b32e619 100644 --- a/src/dns/hetzner.js +++ b/src/dns/hetzner.js @@ -8,7 +8,7 @@ import safe from 'safetydance'; import superagent from '@cloudron/superagent'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/hetzner'); +const { log } = logger('dns/hetzner'); const ENDPOINT = 'https://dns.hetzner.com/api/v1'; diff --git a/src/dns/hetznercloud.js b/src/dns/hetznercloud.js index 4646ecf8c..46d4845df 100644 --- a/src/dns/hetznercloud.js +++ b/src/dns/hetznercloud.js @@ -9,7 +9,7 @@ import safe from 'safetydance'; import superagent from '@cloudron/superagent'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/hetznercloud'); +const { log } = logger('dns/hetznercloud'); // https://docs.hetzner.cloud/reference/cloud diff --git a/src/dns/inwx.js b/src/dns/inwx.js index 43d23819a..7c4686a86 100644 --- a/src/dns/inwx.js +++ b/src/dns/inwx.js @@ -8,7 +8,7 @@ import dns from '../dns.js'; import safe from 'safetydance'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/inwx'); +const { log } = logger('dns/inwx'); function formatError(response) { diff --git a/src/dns/linode.js b/src/dns/linode.js index db95fe2bb..b168430a7 100644 --- a/src/dns/linode.js +++ b/src/dns/linode.js @@ -8,7 +8,7 @@ import safe from 'safetydance'; import superagent from '@cloudron/superagent'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/linode'); +const { log } = logger('dns/linode'); const LINODE_ENDPOINT = 'https://api.linode.com/v4'; diff --git a/src/dns/manual.js b/src/dns/manual.js index 08c3cec04..5ff12ef42 100644 --- a/src/dns/manual.js +++ b/src/dns/manual.js @@ -6,7 +6,7 @@ import dns from '../dns.js'; import safe from 'safetydance'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/manual'); +const { log } = logger('dns/manual'); function removePrivateFields(domainObject) { diff --git a/src/dns/namecheap.js b/src/dns/namecheap.js index 9799bac93..f028d12d4 100644 --- a/src/dns/namecheap.js +++ b/src/dns/namecheap.js @@ -12,7 +12,7 @@ import util from 'node:util'; import waitForDns from './waitfordns.js'; import xml2js from 'xml2js'; -const { log, trace } = logger('dns/namecheap'); +const { log } = logger('dns/namecheap'); const ENDPOINT = 'https://api.namecheap.com/xml.response'; diff --git a/src/dns/namecom.js b/src/dns/namecom.js index 37fe2f8cc..4d33b4fbc 100644 --- a/src/dns/namecom.js +++ b/src/dns/namecom.js @@ -8,7 +8,7 @@ import safe from 'safetydance'; import superagent from '@cloudron/superagent'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/namecom'); +const { log } = logger('dns/namecom'); const NAMECOM_API = 'https://api.name.com/v4'; diff --git a/src/dns/netcup.js b/src/dns/netcup.js index dd80c49c4..9c90ffb63 100644 --- a/src/dns/netcup.js +++ b/src/dns/netcup.js @@ -8,7 +8,7 @@ import safe from 'safetydance'; import superagent from '@cloudron/superagent'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/netcup'); +const { log } = logger('dns/netcup'); const API_ENDPOINT = 'https://ccp.netcup.net/run/webservice/servers/endpoint.php?JSON'; diff --git a/src/dns/noop.js b/src/dns/noop.js index 5eeeaee8e..89c0c8208 100644 --- a/src/dns/noop.js +++ b/src/dns/noop.js @@ -1,7 +1,7 @@ import assert from 'node:assert'; import logger from '../logger.js'; -const { log, trace } = logger('dns/noop'); +const { log } = logger('dns/noop'); function removePrivateFields(domainObject) { diff --git a/src/dns/ovh.js b/src/dns/ovh.js index 5b059192e..3b03db753 100644 --- a/src/dns/ovh.js +++ b/src/dns/ovh.js @@ -8,7 +8,7 @@ import ovhClient from 'ovh'; import safe from 'safetydance'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/ovh'); +const { log } = logger('dns/ovh'); function formatError(error) { diff --git a/src/dns/porkbun.js b/src/dns/porkbun.js index c38d3fc23..866bc8d1a 100644 --- a/src/dns/porkbun.js +++ b/src/dns/porkbun.js @@ -9,7 +9,7 @@ import superagent from '@cloudron/superagent'; import timers from 'timers/promises'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/porkbun'); +const { log } = logger('dns/porkbun'); // Rate limit note: Porkbun return 503 when it hits rate limits. It's as low as 1 req/second diff --git a/src/dns/route53.js b/src/dns/route53.js index 4ac0be8a5..213dd523d 100644 --- a/src/dns/route53.js +++ b/src/dns/route53.js @@ -10,7 +10,7 @@ import safe from 'safetydance'; import waitForDns from './waitfordns.js'; import _ from '../underscore.js'; -const { log, trace } = logger('dns/route53'); +const { log } = logger('dns/route53'); function removePrivateFields(domainObject) { diff --git a/src/dns/vultr.js b/src/dns/vultr.js index 47cd42faf..2280ca8c2 100644 --- a/src/dns/vultr.js +++ b/src/dns/vultr.js @@ -8,7 +8,7 @@ import safe from 'safetydance'; import superagent from '@cloudron/superagent'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/vultr'); +const { log } = logger('dns/vultr'); const VULTR_ENDPOINT = 'https://api.vultr.com/v2'; diff --git a/src/dns/waitfordns.js b/src/dns/waitfordns.js index f634687c6..56d63fd77 100644 --- a/src/dns/waitfordns.js +++ b/src/dns/waitfordns.js @@ -7,7 +7,7 @@ import promiseRetry from '../promise-retry.js'; import safe from 'safetydance'; import _ from '../underscore.js'; -const { log, trace } = logger('dns/waitfordns'); +const { log } = logger('dns/waitfordns'); async function resolveIp(hostname, type, options) { assert.strictEqual(typeof hostname, 'string'); diff --git a/src/dns/wildcard.js b/src/dns/wildcard.js index a6d2091b1..b986c71d0 100644 --- a/src/dns/wildcard.js +++ b/src/dns/wildcard.js @@ -7,7 +7,7 @@ import network from '../network.js'; import safe from 'safetydance'; import waitForDns from './waitfordns.js'; -const { log, trace } = logger('dns/manual'); +const { log } = logger('dns/manual'); function removePrivateFields(domainObject) { diff --git a/src/docker.js b/src/docker.js index 8e303a457..3634355ce 100644 --- a/src/docker.js +++ b/src/docker.js @@ -17,7 +17,7 @@ import safe from 'safetydance'; import timers from 'timers/promises'; import volumes from './volumes.js'; -const { log, trace } = logger('docker'); +const { log } = logger('docker'); const shell = shellModule('docker'); diff --git a/src/dockerproxy.js b/src/dockerproxy.js index a8c3eff8d..12c9505a6 100644 --- a/src/dockerproxy.js +++ b/src/dockerproxy.js @@ -13,7 +13,7 @@ import safe from 'safetydance'; import util from 'node:util'; import volumes from './volumes.js'; -const { log, trace } = logger('dockerproxy'); +const { log } = logger('dockerproxy'); let gHttpServer = null; diff --git a/src/domains.js b/src/domains.js index 7281ae470..332d63998 100644 --- a/src/domains.js +++ b/src/domains.js @@ -36,7 +36,7 @@ import dnsManual from './dns/manual.js'; import dnsPorkbun from './dns/porkbun.js'; import dnsWildcard from './dns/wildcard.js'; -const { log, trace } = logger('domains'); +const { log } = logger('domains'); const DOMAINS_FIELDS = [ 'domain', 'zoneName', 'provider', 'configJson', 'tlsConfigJson', 'wellKnownJson', 'fallbackCertificateJson' ].join(','); diff --git a/src/dyndns.js b/src/dyndns.js index 784b6e77c..978c71d97 100644 --- a/src/dyndns.js +++ b/src/dyndns.js @@ -11,7 +11,7 @@ import paths from './paths.js'; import safe from 'safetydance'; import tasks from './tasks.js'; -const { log, trace } = logger('dyndns'); +const { log } = logger('dyndns'); // FIXME: this races with apptask. can result in a conflict if apptask is doing some dns operation and this code changes entries diff --git a/src/eventlog.js b/src/eventlog.js index 14fe3fcb1..c959c464f 100644 --- a/src/eventlog.js +++ b/src/eventlog.js @@ -6,7 +6,7 @@ import mysql from 'mysql2'; import notifications from './notifications.js'; import safe from 'safetydance'; -const { log, trace } = logger('eventlog'); +const { log } = logger('eventlog'); const ACTION_ACTIVATE = 'cloudron.activate'; const ACTION_USER_LOGIN = 'user.login'; diff --git a/src/externalldap.js b/src/externalldap.js index 0be2b698b..4ebeb157b 100644 --- a/src/externalldap.js +++ b/src/externalldap.js @@ -13,7 +13,7 @@ import tasks from './tasks.js'; import users from './users.js'; import util from 'node:util'; -const { log, trace } = logger('externalldap'); +const { log } = logger('externalldap'); function removePrivateFields(ldapConfig) { diff --git a/src/hush.js b/src/hush.js index 243b623a9..daa36f5cb 100644 --- a/src/hush.js +++ b/src/hush.js @@ -4,7 +4,7 @@ import crypto from 'node:crypto'; import logger from './logger.js'; import { Transform as TransformStream } from 'node:stream'; -const { log, trace } = logger('hush'); +const { log } = logger('hush'); class EncryptStream extends TransformStream { constructor(encryption) { diff --git a/src/image-content-type.js b/src/image-content-type.js index 5e84f4fa6..a3f7d0fcc 100644 --- a/src/image-content-type.js +++ b/src/image-content-type.js @@ -39,7 +39,7 @@ export function getImageContentType(buffer) { if (/^\s*(<\?xml| { containerId, schedulerConfig (manifest+crontab), cronjobs } diff --git a/src/scripts/backupupload.js b/src/scripts/backupupload.js index 7a93c9b0a..74b8320c3 100755 --- a/src/scripts/backupupload.js +++ b/src/scripts/backupupload.js @@ -5,7 +5,7 @@ import database from '../database.js'; import logger from '../logger.js'; import safe from 'safetydance'; -const { log, trace } = logger('backupupload'); +const { log } = logger('backupupload'); // --check is used by run-tests to verify sudo access works. Caller must set BOX_ENV (e.g. BOX_ENV=test). if (process.argv[2] === '--check') { diff --git a/src/server.js b/src/server.js index d79b9cb7c..12663975d 100644 --- a/src/server.js +++ b/src/server.js @@ -14,7 +14,7 @@ import users from './users.js'; import util from 'node:util'; import { WebSocketServer } from 'ws'; -const { log, trace } = logger('server'); +const { log } = logger('server'); let gHttpServer = null; diff --git a/src/services.js b/src/services.js index 25ee1f0f1..a0de9db44 100644 --- a/src/services.js +++ b/src/services.js @@ -31,7 +31,7 @@ import sftp from './sftp.js'; import shellModule from './shell.js'; import superagent from '@cloudron/superagent'; -const { log, trace } = logger('services'); +const { log } = logger('services'); const shell = shellModule('services'); const SERVICE_STATUS_STARTING = 'starting'; diff --git a/src/sftp.js b/src/sftp.js index a23940e69..ee5bdd769 100644 --- a/src/sftp.js +++ b/src/sftp.js @@ -15,7 +15,7 @@ import services from './services.js'; import shellModule from './shell.js'; import volumes from './volumes.js'; -const { log, trace } = logger('sftp'); +const { log } = logger('sftp'); const shell = shellModule('sftp'); const DEFAULT_MEMORY_LIMIT = 256 * 1024 * 1024; diff --git a/src/shell.js b/src/shell.js index 2ae8805fe..a04156090 100644 --- a/src/shell.js +++ b/src/shell.js @@ -6,7 +6,7 @@ import path from 'node:path'; import safe from 'safetydance'; import _ from './underscore.js'; -const { log, trace } = logger('shell'); +const { log } = logger('shell'); function lineCount(buffer) { assert(Buffer.isBuffer(buffer)); @@ -33,7 +33,7 @@ function spawn(tag, file, args, options) { log(`${tag}: ${file} ${args.join(' ').replace(/\n/g, '\\n')}`); const maxLines = options.maxLines || Number.MAX_SAFE_INTEGER; - const logger = options.logger || null; + const outputLogger = options.logger || null; const abortSignal = options.abortSignal || null; // note: we use our own handler and not the child_process one return new Promise((resolve, reject) => { @@ -43,13 +43,13 @@ function spawn(tag, file, args, options) { let stdoutLineCount = 0, stderrLineCount = 0, killTimerId = null, timedOut = false, terminated = false; cp.stdout.on('data', (data) => { - if (logger) return logger(data); + if (outputLogger) return outputLogger(data); stdoutBuffers.push(data); stdoutLineCount += lineCount(data); if (stdoutLineCount >= maxLines) return cp.kill('SIGKILL'); }); cp.stderr.on('data', (data) => { - if (logger) return logger(data); + if (outputLogger) return outputLogger(data); stderrBuffers.push(data); stderrLineCount += lineCount(data); if (stderrLineCount >= maxLines) return cp.kill('SIGKILL'); diff --git a/src/storage/filesystem.js b/src/storage/filesystem.js index e19b5ce6b..8f215e085 100644 --- a/src/storage/filesystem.js +++ b/src/storage/filesystem.js @@ -11,7 +11,7 @@ import safe from 'safetydance'; import shellModule from '../shell.js'; import _ from '../underscore.js'; -const { log, trace } = logger('storage/filesystem'); +const { log } = logger('storage/filesystem'); const shell = shellModule('filesystem'); diff --git a/src/storage/gcs.js b/src/storage/gcs.js index 55b4578b2..b11f4e11f 100644 --- a/src/storage/gcs.js +++ b/src/storage/gcs.js @@ -8,7 +8,7 @@ import path from 'node:path'; import safe from 'safetydance'; import _ from '../underscore.js'; -const { log, trace } = logger('storage/gcs'); +const { log } = logger('storage/gcs'); function getBucket(config) { diff --git a/src/storage/s3.js b/src/storage/s3.js index b5b397e83..a0648443c 100644 --- a/src/storage/s3.js +++ b/src/storage/s3.js @@ -17,7 +17,7 @@ import safe from 'safetydance'; import { Upload } from '@aws-sdk/lib-storage'; import _ from '../underscore.js'; -const { log, trace } = logger('storage/s3'); +const { log } = logger('storage/s3'); function S3_NOT_FOUND(error) { return error instanceof NoSuchKey || error instanceof NoSuchBucket; diff --git a/src/syncer.js b/src/syncer.js index c1a6d8291..51932e25b 100644 --- a/src/syncer.js +++ b/src/syncer.js @@ -8,7 +8,7 @@ import readline from 'node:readline'; import safe from 'safetydance'; import util from 'node:util'; -const { log, trace } = logger('syncer'); +const { log } = logger('syncer'); function readCache(cacheFile) { diff --git a/src/system.js b/src/system.js index 0fabc326f..15a124dbc 100644 --- a/src/system.js +++ b/src/system.js @@ -18,7 +18,7 @@ import safe from 'safetydance'; import shellModule from './shell.js'; import volumes from './volumes.js'; -const { log, trace } = logger('system'); +const { log } = logger('system'); const shell = shellModule('system'); diff --git a/src/tasks.js b/src/tasks.js index e84aee07d..b518ab429 100644 --- a/src/tasks.js +++ b/src/tasks.js @@ -10,7 +10,7 @@ import safe from 'safetydance'; import shellModule from './shell.js'; import _ from './underscore.js'; -const { log, trace } = logger('tasks'); +const { log } = logger('tasks'); const shell = shellModule('tasks'); const ESTOPPED = 'stopped'; diff --git a/src/taskworker.js b/src/taskworker.js index b2ed3b879..b8942b4af 100755 --- a/src/taskworker.js +++ b/src/taskworker.js @@ -100,7 +100,7 @@ async function main() { return process.exit(50); } - const { log, trace } = logger('taskworker'); // import this here so that logging handler is already setup + const { log } = logger('taskworker'); // import this here so that logging handler is already setup process.on('SIGTERM', () => { log('Terminated'); diff --git a/src/translations.js b/src/translations.js index 0fce8d4e5..bb0d9a61e 100644 --- a/src/translations.js +++ b/src/translations.js @@ -6,7 +6,7 @@ import path from 'node:path'; import paths from './paths.js'; import safe from 'safetydance'; -const { log, trace } = logger('translation'); +const { log } = logger('translation'); // to be used together with getTranslations() => { translations, fallback } diff --git a/src/updater.js b/src/updater.js index 6eb9f6c81..99d9746b4 100644 --- a/src/updater.js +++ b/src/updater.js @@ -26,7 +26,7 @@ import settings from './settings.js'; import shellModule from './shell.js'; import tasks from './tasks.js'; -const { log, trace } = logger('updater'); +const { log } = logger('updater'); const shell = shellModule('updater'); diff --git a/src/user-directory.js b/src/user-directory.js index a2abdd4b8..ceb81264f 100644 --- a/src/user-directory.js +++ b/src/user-directory.js @@ -9,7 +9,7 @@ import settings from './settings.js'; import tokens from './tokens.js'; import users from './users.js'; -const { log, trace } = logger('user-directory'); +const { log } = logger('user-directory'); async function getProfileConfig() { diff --git a/src/users.js b/src/users.js index f646ab1a8..1f4e9b1ca 100644 --- a/src/users.js +++ b/src/users.js @@ -30,7 +30,7 @@ import util from 'node:util'; import validator from './validator.js'; import _ from './underscore.js'; -const { log, trace } = logger('user'); +const { log } = logger('user'); const AP_MAIL = 'mail'; const AP_WEBADMIN = 'webadmin'; diff --git a/src/volumes.js b/src/volumes.js index 0ee1b1f13..ed27af83a 100644 --- a/src/volumes.js +++ b/src/volumes.js @@ -10,7 +10,7 @@ import paths from './paths.js'; import safe from 'safetydance'; import services from './services.js'; -const { log, trace } = logger('volumes'); +const { log } = logger('volumes'); const VOLUMES_FIELDS = [ 'id', 'name', 'hostPath', 'creationTime', 'mountType', 'mountOptionsJson' ].join(','); diff --git a/syslog.js b/syslog.js index 896db9610..40bd0624d 100755 --- a/syslog.js +++ b/syslog.js @@ -7,7 +7,7 @@ import path from 'node:path'; import paths from './src/paths.js'; import util from 'node:util'; -const { log, trace } = logger('syslog'); +const { log } = logger('syslog'); let gServer = null;