syslog-portal
Version:
A portal for ingesting syslog data
35 lines • 1.34 kB
JavaScript
import { TYPES } from './types.js';
import { ArchiverType } from './models/config.js';
import esMain from 'es-main';
export default async function main(appContainer) {
const server = await appContainer.getAsync(TYPES.Services.Server);
const log = appContainer.get(TYPES.Logger);
await appContainer.getAsync(TYPES.Services.MetricServer);
const config = appContainer.get(TYPES.Configurations.Main);
if (config.archiver.enabled) {
if (config.archiver.type === ArchiverType.MONGO) {
await appContainer.getAsync(TYPES.Listeners.MongoArchiver);
}
else if (config.archiver.type === ArchiverType.POUCHDB) {
await appContainer.getAsync(TYPES.Listeners.PouchArchiver);
}
}
log.info('Starting to listen for connections');
await server.startListening();
log.info('Now serving connections');
}
if (esMain(import.meta)) {
const appContainer = (await import('./inversify.config.js')).appContainer;
const log = appContainer.get(TYPES.Logger);
main(appContainer)
.then(() => {
process.on('SIGINT|SIGTERM', async () => {
await appContainer.unbindAllAsync();
});
})
.catch((err) => {
log.error(err, `Error while launching: ${err.message}`);
});
}
//# sourceMappingURL=app.js.map