Rainbow the logs
This commit is contained in:
parent
e52e7ef0e1
commit
d4ddf3acf0
BIN
bundle/package-lock.json
generated
BIN
bundle/package-lock.json
generated
Binary file not shown.
@ -38,7 +38,7 @@
|
|||||||
"@types/mongoose-autopopulate": "^0.10.1",
|
"@types/mongoose-autopopulate": "^0.10.1",
|
||||||
"@types/mongoose-lean-virtuals": "^0.5.1",
|
"@types/mongoose-lean-virtuals": "^0.5.1",
|
||||||
"@types/multer": "^1.4.5",
|
"@types/multer": "^1.4.5",
|
||||||
"@types/node": "^14.17.9",
|
"@types/node": "^14.17.20",
|
||||||
"@types/node-fetch": "^2.5.7",
|
"@types/node-fetch": "^2.5.7",
|
||||||
"@types/node-os-utils": "^1.2.0",
|
"@types/node-os-utils": "^1.2.0",
|
||||||
"@types/uuid": "^8.3.0",
|
"@types/uuid": "^8.3.0",
|
||||||
@ -54,6 +54,7 @@
|
|||||||
"@fosscord/gateway": "file:../gateway",
|
"@fosscord/gateway": "file:../gateway",
|
||||||
"@fosscord/util": "file:../util",
|
"@fosscord/util": "file:../util",
|
||||||
"async-exit-hook": "^2.0.1",
|
"async-exit-hook": "^2.0.1",
|
||||||
|
"chalk": "^4.1.2",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"missing-native-js-functions": "^1.2.15",
|
"missing-native-js-functions": "^1.2.15",
|
||||||
"node-os-utils": "^1.3.5",
|
"node-os-utils": "^1.3.5",
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { FosscordServer as APIServer } from "@fosscord/api";
|
|||||||
import { Server as GatewayServer } from "@fosscord/gateway";
|
import { Server as GatewayServer } from "@fosscord/gateway";
|
||||||
import { CDNServer } from "@fosscord/cdn/";
|
import { CDNServer } from "@fosscord/cdn/";
|
||||||
import express from "express";
|
import express from "express";
|
||||||
|
import { red, green, bold } from "chalk";
|
||||||
import { Config, initDatabase } from "@fosscord/util";
|
import { Config, initDatabase } from "@fosscord/util";
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
@ -58,7 +59,7 @@ async function main() {
|
|||||||
} as any);
|
} as any);
|
||||||
|
|
||||||
await Promise.all([api.start(), cdn.start(), gateway.start()]);
|
await Promise.all([api.start(), cdn.start(), gateway.start()]);
|
||||||
console.log(`[Server] listening on port ${port}`);
|
console.log(`[Server] ${green(`listening on port ${bold(port)}`)}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
main().catch(console.error);
|
main().catch(console.error);
|
||||||
|
|||||||
@ -1,10 +1,28 @@
|
|||||||
// process.env.MONGOMS_DEBUG = "true";
|
// process.env.MONGOMS_DEBUG = "true";
|
||||||
import cluster from "cluster";
|
import cluster from "cluster";
|
||||||
import os from "os";
|
import os from "os";
|
||||||
|
import { red, bold, yellow, cyan } from "chalk";
|
||||||
import { initStats } from "./stats";
|
import { initStats } from "./stats";
|
||||||
|
|
||||||
// TODO: add tcp socket event transmission
|
// TODO: add tcp socket event transmission
|
||||||
const cores = 1 || Number(process.env.threads) || os.cpus().length;
|
const cores = 1 || Number(process.env.threads) || os.cpus().length;
|
||||||
|
const commit = require('child_process').execSync('git rev-parse HEAD').toString().trim();
|
||||||
|
|
||||||
|
console.log(bold(`
|
||||||
|
███████ ██████ ███████ ███████ ██████ ██████ ██████ ██████
|
||||||
|
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
|
||||||
|
█████ ██ ██ ███████ ███████ ██ ██ ██ ██████ ██ ██
|
||||||
|
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
|
||||||
|
██ ██████ ███████ ███████ ██████ ██████ ██ ██ ██████
|
||||||
|
|
||||||
|
|
||||||
|
fosscord-server | ${yellow(`Pre-relase (${commit.slice(0, 7)})`)}
|
||||||
|
|
||||||
|
Current commit: ${cyan(commit)} (${yellow(commit.slice(0, 7))})
|
||||||
|
`))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (cluster.isMaster && !process.env.masterStarted) {
|
if (cluster.isMaster && !process.env.masterStarted) {
|
||||||
process.env.masterStarted = "true";
|
process.env.masterStarted = "true";
|
||||||
@ -24,7 +42,7 @@ if (cluster.isMaster && !process.env.masterStarted) {
|
|||||||
|
|
||||||
cluster.on("exit", (worker: any, code: any, signal: any) => {
|
cluster.on("exit", (worker: any, code: any, signal: any) => {
|
||||||
console.log(
|
console.log(
|
||||||
`[Worker] died with pid: ${worker.process.pid} , restarting ...`
|
`[Worker] ${red(`died with pid: ${worker.process.pid} , restarting ...`)}`
|
||||||
);
|
);
|
||||||
cluster.fork();
|
cluster.fork();
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import os from "os";
|
import os from "os";
|
||||||
import osu from "node-os-utils";
|
import osu from "node-os-utils";
|
||||||
|
import {} from "chalk";
|
||||||
|
|
||||||
export function initStats() {
|
export function initStats() {
|
||||||
console.log(`[Path] running in ${__dirname}`);
|
console.log(`[Path] running in ${__dirname}`);
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import { FileStorage } from "./FileStorage";
|
import { FileStorage } from "./FileStorage";
|
||||||
import path from "path";
|
import path from "path";
|
||||||
import fse from "fs-extra";
|
import fse from "fs-extra";
|
||||||
|
import { bgCyan, black } from "chalk";
|
||||||
process.cwd();
|
process.cwd();
|
||||||
|
|
||||||
export interface Storage {
|
export interface Storage {
|
||||||
@ -18,7 +19,7 @@ if (process.env.STORAGE_PROVIDER === "file" || !process.env.STORAGE_PROVIDER) {
|
|||||||
} else {
|
} else {
|
||||||
location = path.join(process.cwd(), "files");
|
location = path.join(process.cwd(), "files");
|
||||||
}
|
}
|
||||||
console.log(`[CDN] storage location: ${location}`);
|
console.log(`[CDN] storage location: ${bgCyan(`${black(location)}`)}`);
|
||||||
fse.ensureDirSync(location);
|
fse.ensureDirSync(location);
|
||||||
process.env.STORAGE_LOCATION = location;
|
process.env.STORAGE_LOCATION = location;
|
||||||
|
|
||||||
|
|||||||
BIN
util/package-lock.json
generated
BIN
util/package-lock.json
generated
Binary file not shown.
@ -39,6 +39,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ajv": "^8.6.2",
|
"ajv": "^8.6.2",
|
||||||
"amqplib": "^0.8.0",
|
"amqplib": "^0.8.0",
|
||||||
|
"chalk": "^4.1.2",
|
||||||
"class-validator": "^0.13.1",
|
"class-validator": "^0.13.1",
|
||||||
"dot-prop": "^6.0.1",
|
"dot-prop": "^6.0.1",
|
||||||
"env-paths": "^2.2.1",
|
"env-paths": "^2.2.1",
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import path from "path";
|
|||||||
import "reflect-metadata";
|
import "reflect-metadata";
|
||||||
import { Connection, createConnection, ValueTransformer } from "typeorm";
|
import { Connection, createConnection, ValueTransformer } from "typeorm";
|
||||||
import * as Models from "../entities";
|
import * as Models from "../entities";
|
||||||
|
import { yellow, green} from "chalk";
|
||||||
|
|
||||||
// UUID extension option is only supported with postgres
|
// UUID extension option is only supported with postgres
|
||||||
// We want to generate all id's with Snowflakes that's why we have our own BaseEntity class
|
// We want to generate all id's with Snowflakes that's why we have our own BaseEntity class
|
||||||
@ -12,7 +13,7 @@ var dbConnection: Connection | undefined;
|
|||||||
export function initDatabase() {
|
export function initDatabase() {
|
||||||
if (promise) return promise; // prevent initalizing multiple times
|
if (promise) return promise; // prevent initalizing multiple times
|
||||||
|
|
||||||
console.log("[Database] connecting ...");
|
console.log(`[Database] ${yellow("connecting ...")}`);
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
promise = createConnection({
|
promise = createConnection({
|
||||||
type: "sqlite",
|
type: "sqlite",
|
||||||
@ -32,7 +33,7 @@ export function initDatabase() {
|
|||||||
|
|
||||||
promise.then((connection) => {
|
promise.then((connection) => {
|
||||||
dbConnection = connection;
|
dbConnection = connection;
|
||||||
console.log("[Database] connected");
|
console.log(`[Database] ${green("connected")}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
return promise;
|
return promise;
|
||||||
|
|||||||
Reference in New Issue
Block a user