Skip to content
Snippets Groups Projects
Unverified Commit 80aa4537 authored by syuilo's avatar syuilo
Browse files

Better logger

parent a91f9545
No related branches found
No related tags found
No related merge requests found
......@@ -25,8 +25,9 @@ import { Config } from './config/types';
import { lessThan } from './prelude/array';
import * as pkg from '../package.json';
const bootLogger = new Logger('boot');
const clusterLog = new Logger('cluster');
const logger = new Logger('core');
const bootLogger = new Logger('boot', logger);
const clusterLog = new Logger('cluster', logger);
const ev = new Xev();
if (process.env.NODE_ENV != 'production' && process.env.DEBUG == null) {
......@@ -86,7 +87,7 @@ async function masterMain() {
await spawnWorkers(config.clusterLimit);
}
bootLogger.succ(`Now listening on port ${config.port} on ${config.url}`);
bootLogger.succ(`Now listening on port ${config.port} on ${config.url}`, true);
}
/**
......@@ -264,12 +265,12 @@ process.on('unhandledRejection', console.dir);
// Display detail of uncaught exception
process.on('uncaughtException', err => {
console.error(err);
logger.error(err);
});
// Dying away...
process.on('exit', code => {
Logger.info(`The process is going to exit with code ${code}`);
logger.info(`The process is going to exit with code ${code}`);
});
//#endregion
......
......@@ -10,41 +10,26 @@ export default class Logger {
this.parentLogger = parentLogger;
}
public log(level: string, message: string): void {
public log(level: string, message: string, important = false): void {
if (this.parentLogger) {
this.parentLogger.log(level, `[${this.domain}] ${message}`);
this.parentLogger.log(level, `[${this.domain}]\t${message}`, important);
} else {
const time = dateformat(new Date(), 'HH:MM:ss');
console.log(`${chalk.gray(time)} ${level} [${this.domain}] ${message}`);
const log = `${chalk.gray(time)} ${level} [${this.domain}]\t${message}`;
console.log(important ? chalk.bold(log) : log);
}
}
public static error(message: string): void {
(new Logger('')).error(message);
}
public static warn(message: string): void {
(new Logger('')).warn(message);
}
public static succ(message: string): void {
(new Logger('')).succ(message);
}
public static info(message: string): void {
(new Logger('')).info(message);
}
public error(message: string): void { // 実行を継続できない状況で使う
this.log(chalk.red.bold('ERROR'), chalk.red.bold(message));
public error(message: string | Error): void { // 実行を継続できない状況で使う
this.log(chalk.red.bold('ERROR'), chalk.red.bold(message.toString()));
}
public warn(message: string): void { // 実行を継続できるが改善すべき状況で使う
this.log(chalk.yellow.bold('WARN'), chalk.yellow.bold(message));
}
public succ(message: string): void { // 何かに成功した状況で使う
this.log(chalk.blue.green('DONE'), chalk.green.bold(message));
public succ(message: string, important = false): void { // 何かに成功した状況で使う
this.log(chalk.blue.green('DONE'), chalk.green.bold(message), important);
}
public info(message: string): void { // それ以外
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment