mirror of
https://github.com/syuilo/ai.git
synced 2024-11-22 21:27:58 +00:00
logの調整
This commit is contained in:
parent
422fddafa4
commit
68b7765d58
|
@ -115,7 +115,7 @@ export default class 藍 {
|
|||
}
|
||||
|
||||
@bindThis
|
||||
public static log(msg: string) {
|
||||
private static log(msg: string) {
|
||||
log(`[${chalk.magenta('AiOS')}]: ${msg}`);
|
||||
}
|
||||
|
||||
|
|
|
@ -17,8 +17,13 @@ type Config = {
|
|||
memoryDir?: string;
|
||||
};
|
||||
|
||||
import chalk from 'chalk';
|
||||
import uncheckedConfig from '../config.json' assert { type: 'json' };
|
||||
import log from '@/utils/log.js';
|
||||
import { warn } from '@/utils/log.js';
|
||||
|
||||
function warnWithPrefix(msg: string): void {
|
||||
warn(`[Config]: ${chalk.red(msg)}`);
|
||||
}
|
||||
|
||||
class Type<T> {
|
||||
public static readonly string = new Type<string>('string');
|
||||
|
@ -38,7 +43,7 @@ class Type<T> {
|
|||
function checkProperty<K extends keyof Config>(config: Object, key: K, type: Type<Config[K]>): config is { [J in K]: Config[K] } {
|
||||
const result = key in config && type.check(config[key as string]);
|
||||
if (!result) {
|
||||
log(`config.json: Property ${key}: ${type.name} required`);
|
||||
warnWithPrefix(`config.json: Property '${key}': ${type.name} required`);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -49,7 +54,7 @@ function checkOptionalProperty<K extends keyof Config>(config: Object, key: K, t
|
|||
}
|
||||
const result = type.check(config[key as string]);
|
||||
if (!result) {
|
||||
log(`config.json: The type of property ${key} must be ${type.name}`);
|
||||
warnWithPrefix(`config.json: The type of property '${key}' must be ${type.name}`);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -60,7 +65,7 @@ function setProperty<K extends keyof Config>(config: Object, key: K, value: Conf
|
|||
|
||||
function validate(config: unknown): Config {
|
||||
if (!(config instanceof Object)) {
|
||||
log('config.json: Root object required');
|
||||
warnWithPrefix('config.json: Root object required');
|
||||
} else if (
|
||||
checkProperty(config, 'host', Type.string) &&
|
||||
checkOptionalProperty(config, 'serverName', Type.string) &&
|
||||
|
|
|
@ -1,9 +1,17 @@
|
|||
import chalk from 'chalk';
|
||||
|
||||
export default function(msg: string) {
|
||||
console.log(createMessage(msg));
|
||||
}
|
||||
|
||||
export function warn(msg: string) {
|
||||
console.warn(createMessage(msg));
|
||||
}
|
||||
|
||||
function createMessage(msg: string) {
|
||||
const now = new Date();
|
||||
const date = `${zeroPad(now.getHours())}:${zeroPad(now.getMinutes())}:${zeroPad(now.getSeconds())}`;
|
||||
console.log(`${chalk.gray(date)} ${msg}`);
|
||||
return `${chalk.gray(date)} ${msg}`;
|
||||
}
|
||||
|
||||
function zeroPad(num: number, length: number = 2): string {
|
||||
|
|
Loading…
Reference in a new issue