Update log messages
This commit is contained in:
		
							parent
							
								
									c99e864dbc
								
							
						
					
					
						commit
						d50e99c17b
					
				
					 6 changed files with 52 additions and 52 deletions
				
			
		
							
								
								
									
										23
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										23
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	"name": "misskey",
 | 
						"name": "misskey",
 | 
				
			||||||
	"version": "4.17.1",
 | 
						"version": "4.19.1",
 | 
				
			||||||
	"lockfileVersion": 1,
 | 
						"lockfileVersion": 1,
 | 
				
			||||||
	"requires": true,
 | 
						"requires": true,
 | 
				
			||||||
	"dependencies": {
 | 
						"dependencies": {
 | 
				
			||||||
| 
						 | 
					@ -154,6 +154,11 @@
 | 
				
			||||||
				"@types/node": "*"
 | 
									"@types/node": "*"
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							"@types/dateformat": {
 | 
				
			||||||
 | 
								"version": "1.0.1",
 | 
				
			||||||
 | 
								"resolved": "https://registry.npmjs.org/@types/dateformat/-/dateformat-1.0.1.tgz",
 | 
				
			||||||
 | 
								"integrity": "sha1-LlsjXIxVZSxP7ChFBtKjb+Zf6H4="
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		"@types/debug": {
 | 
							"@types/debug": {
 | 
				
			||||||
			"version": "0.0.30",
 | 
								"version": "0.0.30",
 | 
				
			||||||
			"resolved": "https://registry.npmjs.org/@types/debug/-/debug-0.0.30.tgz",
 | 
								"resolved": "https://registry.npmjs.org/@types/debug/-/debug-0.0.30.tgz",
 | 
				
			||||||
| 
						 | 
					@ -164,11 +169,6 @@
 | 
				
			||||||
			"resolved": "https://registry.npmjs.org/@types/deep-equal/-/deep-equal-1.0.1.tgz",
 | 
								"resolved": "https://registry.npmjs.org/@types/deep-equal/-/deep-equal-1.0.1.tgz",
 | 
				
			||||||
			"integrity": "sha512-mMUu4nWHLBlHtxXY17Fg6+ucS/MnndyOWyOe7MmwkoMYxvfQU2ajtRaEvqSUv+aVkMqH/C0NCI8UoVfRNQ10yg=="
 | 
								"integrity": "sha512-mMUu4nWHLBlHtxXY17Fg6+ucS/MnndyOWyOe7MmwkoMYxvfQU2ajtRaEvqSUv+aVkMqH/C0NCI8UoVfRNQ10yg=="
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		"@types/elasticsearch": {
 | 
					 | 
				
			||||||
			"version": "5.0.24",
 | 
					 | 
				
			||||||
			"resolved": "https://registry.npmjs.org/@types/elasticsearch/-/elasticsearch-5.0.24.tgz",
 | 
					 | 
				
			||||||
			"integrity": "sha512-QRpGleGwKv70hEcdklBh3HiLZ3OHPp40nRiVfhLk9wlQ4+V//SX+n90uIHN/mfKz828bjSSAxSG/kDUEp4Yp8Q=="
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		"@types/events": {
 | 
							"@types/events": {
 | 
				
			||||||
			"version": "1.2.0",
 | 
								"version": "1.2.0",
 | 
				
			||||||
			"resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
 | 
								"resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
 | 
				
			||||||
| 
						 | 
					@ -3729,9 +3729,9 @@
 | 
				
			||||||
			"integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
 | 
								"integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		"dateformat": {
 | 
							"dateformat": {
 | 
				
			||||||
			"version": "2.2.0",
 | 
								"version": "3.0.3",
 | 
				
			||||||
			"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
 | 
								"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
 | 
				
			||||||
			"integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI="
 | 
								"integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q=="
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		"de-indent": {
 | 
							"de-indent": {
 | 
				
			||||||
			"version": "1.0.2",
 | 
								"version": "1.0.2",
 | 
				
			||||||
| 
						 | 
					@ -7723,6 +7723,11 @@
 | 
				
			||||||
						"supports-color": "^2.0.0"
 | 
											"supports-color": "^2.0.0"
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
 | 
									"dateformat": {
 | 
				
			||||||
 | 
										"version": "2.2.0",
 | 
				
			||||||
 | 
										"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
 | 
				
			||||||
 | 
										"integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI="
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
				"object-assign": {
 | 
									"object-assign": {
 | 
				
			||||||
					"version": "3.0.0",
 | 
										"version": "3.0.0",
 | 
				
			||||||
					"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
 | 
										"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,6 +31,7 @@
 | 
				
			||||||
		"@prezzemolo/rap": "0.1.2",
 | 
							"@prezzemolo/rap": "0.1.2",
 | 
				
			||||||
		"@prezzemolo/zip": "0.0.3",
 | 
							"@prezzemolo/zip": "0.0.3",
 | 
				
			||||||
		"@types/bcryptjs": "2.4.1",
 | 
							"@types/bcryptjs": "2.4.1",
 | 
				
			||||||
 | 
							"@types/dateformat": "1.0.1",
 | 
				
			||||||
		"@types/debug": "0.0.30",
 | 
							"@types/debug": "0.0.30",
 | 
				
			||||||
		"@types/deep-equal": "1.0.1",
 | 
							"@types/deep-equal": "1.0.1",
 | 
				
			||||||
		"@types/elasticsearch": "5.0.25",
 | 
							"@types/elasticsearch": "5.0.25",
 | 
				
			||||||
| 
						 | 
					@ -92,6 +93,7 @@
 | 
				
			||||||
		"chalk": "2.4.1",
 | 
							"chalk": "2.4.1",
 | 
				
			||||||
		"crc-32": "1.2.0",
 | 
							"crc-32": "1.2.0",
 | 
				
			||||||
		"css-loader": "1.0.0",
 | 
							"css-loader": "1.0.0",
 | 
				
			||||||
 | 
							"dateformat": "3.0.3",
 | 
				
			||||||
		"debug": "3.1.0",
 | 
							"debug": "3.1.0",
 | 
				
			||||||
		"deep-equal": "1.0.1",
 | 
							"deep-equal": "1.0.1",
 | 
				
			||||||
		"deepcopy": "0.6.3",
 | 
							"deepcopy": "0.6.3",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,7 +26,7 @@ export default function load() {
 | 
				
			||||||
	const mixin = {} as Mixin;
 | 
						const mixin = {} as Mixin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Validate URLs
 | 
						// Validate URLs
 | 
				
			||||||
	if (!isUrl(config.url)) urlError(config.url);
 | 
						if (!isUrl(config.url)) throw `url="${config.url}" is not a valid URL`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const url = new URL(config.url);
 | 
						const url = new URL(config.url);
 | 
				
			||||||
	config.url = normalizeUrl(config.url);
 | 
						config.url = normalizeUrl(config.url);
 | 
				
			||||||
| 
						 | 
					@ -50,8 +50,3 @@ export default function load() {
 | 
				
			||||||
function normalizeUrl(url: string) {
 | 
					function normalizeUrl(url: string) {
 | 
				
			||||||
	return url[url.length - 1] === '/' ? url.substr(0, url.length - 1) : url;
 | 
						return url[url.length - 1] === '/' ? url.substr(0, url.length - 1) : url;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
function urlError(url: string) {
 | 
					 | 
				
			||||||
	console.error(`「${url}」は、正しいURLではありません。先頭に http:// または https:// をつけ忘れてないかなど確認してください。`);
 | 
					 | 
				
			||||||
	process.exit(99);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										24
									
								
								src/index.ts
									
										
									
									
									
								
							
							
						
						
									
										24
									
								
								src/index.ts
									
										
									
									
									
								
							| 
						 | 
					@ -63,18 +63,15 @@ async function masterMain() {
 | 
				
			||||||
		config = await init();
 | 
							config = await init();
 | 
				
			||||||
	} catch (e) {
 | 
						} catch (e) {
 | 
				
			||||||
		console.error(e);
 | 
							console.error(e);
 | 
				
			||||||
		Logger.error(chalk.red('Fatal error occurred during initializing :('));
 | 
							Logger.error('Fatal error occurred during initialization');
 | 
				
			||||||
		process.exit(1);
 | 
							process.exit(1);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Logger.info(chalk.green('Successfully initialized :)'));
 | 
						Logger.succ('Successfully initialized');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	spawnWorkers(() => {
 | 
						spawnWorkers(() => {
 | 
				
			||||||
		Logger.info(chalk.bold.green(
 | 
							Logger.info(chalk.bold.green(`Now listening on port ${chalk.underline(config.port.toString())}`));
 | 
				
			||||||
			`Now listening on port ${chalk.underline(config.port.toString())}`));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		Logger.info(chalk.bold.green(config.url));
 | 
							Logger.info(chalk.bold.green(config.url));
 | 
				
			||||||
 | 
					 | 
				
			||||||
		Logger.info(chalk.bold.green('Now processing jobs'));
 | 
							Logger.info(chalk.bold.green('Now processing jobs'));
 | 
				
			||||||
	});
 | 
						});
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -98,7 +95,6 @@ async function workerMain() {
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
async function init(): Promise<Config> {
 | 
					async function init(): Promise<Config> {
 | 
				
			||||||
	Logger.info('Welcome to Misskey!');
 | 
						Logger.info('Welcome to Misskey!');
 | 
				
			||||||
	Logger.info('Initializing...');
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	EnvironmentInfo.show();
 | 
						EnvironmentInfo.show();
 | 
				
			||||||
	MachineInfo.show();
 | 
						MachineInfo.show();
 | 
				
			||||||
| 
						 | 
					@ -110,14 +106,18 @@ async function init(): Promise<Config> {
 | 
				
			||||||
	try {
 | 
						try {
 | 
				
			||||||
		config = loadConfig();
 | 
							config = loadConfig();
 | 
				
			||||||
	} catch (exception) {
 | 
						} catch (exception) {
 | 
				
			||||||
		if (exception.code === 'ENOENT') {
 | 
							if (typeof exception === 'string') {
 | 
				
			||||||
			throw 'Configuration not found - Please run "npm run config" command.';
 | 
								configLogger.error(exception);
 | 
				
			||||||
 | 
								process.exit(1);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if (exception.code === 'ENOENT') {
 | 
				
			||||||
 | 
								configLogger.error('Configuration file not found');
 | 
				
			||||||
 | 
								process.exit(1);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					 | 
				
			||||||
		throw exception;
 | 
							throw exception;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	configLogger.info('Successfully loaded');
 | 
						configLogger.succ('Successfully loaded');
 | 
				
			||||||
	configLogger.info(`Maintainer: ${config.maintainer.name}`);
 | 
						configLogger.info(`Maintainer: ${config.maintainer.name}`);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (process.platform === 'linux' && !isRoot() && config.port < 1024) {
 | 
						if (process.platform === 'linux' && !isRoot() && config.port < 1024) {
 | 
				
			||||||
| 
						 | 
					@ -133,7 +133,7 @@ async function init(): Promise<Config> {
 | 
				
			||||||
	// Try to connect to MongoDB
 | 
						// Try to connect to MongoDB
 | 
				
			||||||
	const mongoDBLogger = new Logger('MongoDB');
 | 
						const mongoDBLogger = new Logger('MongoDB');
 | 
				
			||||||
	const db = require('./db/mongodb').default;
 | 
						const db = require('./db/mongodb').default;
 | 
				
			||||||
	mongoDBLogger.info('Successfully connected');
 | 
						mongoDBLogger.succ('Successfully connected');
 | 
				
			||||||
	db.close();
 | 
						db.close();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return config;
 | 
						return config;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,7 +21,7 @@ export default class {
 | 
				
			||||||
			const x = execSync(command, { stdio: ['pipe', 'pipe', 'ignore'] });
 | 
								const x = execSync(command, { stdio: ['pipe', 'pipe', 'ignore'] });
 | 
				
			||||||
			const ver = transform(x.toString());
 | 
								const ver = transform(x.toString());
 | 
				
			||||||
			if (ver != null) {
 | 
								if (ver != null) {
 | 
				
			||||||
				this.logger.info(`${serviceName} ${ver[1]} found`);
 | 
									this.logger.succ(`${serviceName} ${ver[1]} found`);
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				this.logger.warn(`${serviceName} not found`);
 | 
									this.logger.warn(`${serviceName} not found`);
 | 
				
			||||||
				this.logger.warn(`Regexp used for version check of ${serviceName} is probably messed up`);
 | 
									this.logger.warn(`Regexp used for version check of ${serviceName} is probably messed up`);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,14 +1,5 @@
 | 
				
			||||||
import chalk, { Chalk } from 'chalk';
 | 
					import chalk from 'chalk';
 | 
				
			||||||
 | 
					import * as dateformat from 'dateformat';
 | 
				
			||||||
export type LogLevel = 'Error' | 'Warn' | 'Info';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function toLevelColor(level: LogLevel): Chalk {
 | 
					 | 
				
			||||||
	switch (level) {
 | 
					 | 
				
			||||||
		case 'Error': return chalk.red;
 | 
					 | 
				
			||||||
		case 'Warn': return chalk.yellow;
 | 
					 | 
				
			||||||
		case 'Info': return chalk.blue;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default class Logger {
 | 
					export default class Logger {
 | 
				
			||||||
	private domain: string;
 | 
						private domain: string;
 | 
				
			||||||
| 
						 | 
					@ -17,38 +8,45 @@ export default class Logger {
 | 
				
			||||||
		this.domain = domain;
 | 
							this.domain = domain;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public static log(level: LogLevel, message: string): void {
 | 
						public static log(level: string, message: string): void {
 | 
				
			||||||
		const color = toLevelColor(level);
 | 
							const time = dateformat(new Date(), 'HH:MM:ss');
 | 
				
			||||||
		const time = (new Date()).toLocaleTimeString('ja-JP');
 | 
							console.log(`[${time} ${level}] ${message}`);
 | 
				
			||||||
		const coloredMessage = level === 'Info' ? message : color.bold(message);
 | 
					 | 
				
			||||||
		console.log(`[${time} ${color.bold(level.toUpperCase())}]: ${coloredMessage}`);
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public static error(message: string): void {
 | 
						public static error(message: string): void {
 | 
				
			||||||
		Logger.log('Error', message);
 | 
							(new Logger('')).error(message);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public static warn(message: string): void {
 | 
						public static warn(message: string): void {
 | 
				
			||||||
		Logger.log('Warn', message);
 | 
							(new Logger('')).warn(message);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public static info(message: string): void {
 | 
						public static info(message: string): void {
 | 
				
			||||||
		Logger.log('Info', message);
 | 
							(new Logger('')).info(message);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public log(level: LogLevel, message: string): void {
 | 
						public static succ(message: string): void {
 | 
				
			||||||
		Logger.log(level, `[${this.domain}] ${message}`);
 | 
							(new Logger('')).succ(message);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public log(level: string, message: string) {
 | 
				
			||||||
 | 
							const domain = this.domain.length > 0 ? `[${this.domain}] ` : '';
 | 
				
			||||||
 | 
							Logger.log(level, `${domain}${message}`);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public error(message: string): void {
 | 
						public error(message: string): void {
 | 
				
			||||||
		this.log('Error', message);
 | 
							this.log(chalk.red.bold('ERROR'), chalk.red.bold(message));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public warn(message: string): void {
 | 
						public warn(message: string): void {
 | 
				
			||||||
		this.log('Warn', message);
 | 
							this.log(chalk.yellow.bold('WARN'), chalk.yellow.bold(message));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public info(message: string): void {
 | 
						public info(message: string): void {
 | 
				
			||||||
		this.log('Info', message);
 | 
							this.log(chalk.blue.bold('INFO'), message);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public succ(message: string): void {
 | 
				
			||||||
 | 
							this.log(chalk.blue.bold('INFO'), chalk.green.bold(message));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue