~jae/neos-headless-manager

0ad1e5d1d5f66c2cfcc22724650823195038180b — Jae Lo Presti (DN0) 7 months ago e6366ff
src: use logging framework instead of console logger
M knexfile.ts => knexfile.ts +0 -3
@@ 1,7 1,4 @@
import type { Knex } from "knex";
import {SCHEMA_NAME} from "./src/environment";

// Update with your config settings.

const config: { [key: string]: Knex.Config } = {
  development: {

M src/index.ts => src/index.ts +5 -2
@@ 2,6 2,9 @@ import fastify from 'fastify';
import autoLoad from '@fastify/autoload';
import {HOST, PRODUCTION } from "./environment";
import { join } from 'path';
import {generateLogger} from "./utils/loggerUtils";

const log = generateLogger('index.ts');

const server = fastify({
    logger: !PRODUCTION,


@@ 13,8 16,8 @@ void server.register(autoLoad, {

server.listen({ port: 8080, host: HOST }, (err, address) => {
    if (err) {
        console.log(err);
        log.error(err);
        process.exit(1);
    }
    console.log(`Server is starting on ${address}`);
    log.info(`Server is starting on ${address}`);
})
\ No newline at end of file

M src/utils/configUtils.ts => src/utils/configUtils.ts +4 -1
@@ 1,8 1,11 @@
import {TGenericBaseConfig} from "../types/genericConfig";
import * as fs from "fs";
import {generateLogger} from "./loggerUtils";

const log = generateLogger(('configUtils.ts'));

export const outputConfigFile = (config: TGenericBaseConfig, outputPath: string): void => {
    fs.writeFile(outputPath, JSON.stringify(config), (e) => {
        console.log(e);
        log.error(e);
    })
}
\ No newline at end of file

M src/utils/dockerUtils.ts => src/utils/dockerUtils.ts +8 -6
@@ 1,6 1,8 @@
import * as Dockerode from "dockerode";
import {generateLogger} from "./loggerUtils";

const dockerDaemon = new Dockerode();
const log = generateLogger('dockerUtils.ts');

const checkContainerName = (name: string): boolean => {
    return name.includes('neos');


@@ 24,27 26,27 @@ export const checkIfOnline = async (serverId: string): Promise<boolean> => {
export const restartAllServers = (): void => {
    getHeadlessServers().then(servers => {
        servers.forEach(server => {
            dockerDaemon.getContainer(server).restart().catch(e => console.log(e));
            dockerDaemon.getContainer(server).restart().catch(e => log.error(e));
        });
    }).catch(e => console.log(e));
    }).catch(e => log.error(e));
}

export const stopAllServers = (): void => {
    getHeadlessServers().then(servers => {
        servers.forEach(server => {
            dockerDaemon.getContainer(server).stop().catch(e => console.log(e));
            dockerDaemon.getContainer(server).stop().catch(e => log.error(e));
        });
    }).catch(e => console.log(e));
    }).catch(e => log.error(e));
}

export const restartSingleServer = (serverId: string): void => {
    dockerDaemon.getContainer(serverId).restart().catch(e => console.log(e));
    dockerDaemon.getContainer(serverId).restart().catch(e => log.error(e));
}

export const stopSingleServer = (serverId: string): void => {
    checkIfOnline(serverId).then((res) => {
        if (res)
            dockerDaemon.getContainer(serverId).stop().catch(e => console.log(e));
            dockerDaemon.getContainer(serverId).stop().catch(e => log.error(e));
    });
}


M src/utils/imageUtils.ts => src/utils/imageUtils.ts +1 -1
@@ 4,5 4,5 @@ import {dbConn} from "./dbUtils";
export const fetchImages = async (): Promise<readonly ImageTable[]> => {
    const db = dbConn();
    
    return await db<ImageTable>('images').select('*');
    return db<ImageTable>('images').select('*');
}
\ No newline at end of file

A src/utils/loggerUtils.ts => src/utils/loggerUtils.ts +5 -0
@@ 0,0 1,5 @@
import { Logger } from 'tslog';

export const generateLogger = (loggerName: string) => {
    return new Logger({ name: loggerName });
}
\ No newline at end of file