feat: logger

This commit is contained in:
unanmed 2024-04-20 16:13:48 +08:00
parent 2528a36864
commit 3f195fdc72
6 changed files with 90 additions and 1 deletions

View File

@ -83,7 +83,7 @@ dam4.png ---- 存档 59
[] 重写技能控制系统 [] 重写技能控制系统
[x] 自定义快捷键 [x] 自定义快捷键
[x] 优化 ui 控制系统 [x] 优化 ui 控制系统
[] 优化游戏进程与渲染进程间的通讯 [x] 优化游戏进程与渲染进程间的通讯
[] 优化资源分离,音乐放到 bgm 目录下 [] 优化资源分离,音乐放到 bgm 目录下
[] 一次性道具拾取与清怪 [] 一次性道具拾取与清怪
[] 重构数据统计 [] 重构数据统计

71
src/core/common/logger.ts Normal file
View File

@ -0,0 +1,71 @@
export const enum LogLevel {
/** 输出所有,包括日志 */
LOG,
/** 报错、严重警告和警告 */
WARNING,
/** 报错和严重警告 */
SEVERE_WARNING,
/** 仅报错 */
ERROR
}
export class Logger {
level: LogLevel = LogLevel.LOG;
constructor(logLevel: LogLevel) {
this.level = logLevel;
}
/**
*
* @param level
*/
setLogLevel(level: LogLevel) {
this.level = level;
}
/**
*
* @param code 使
* @param text
*/
error(code: number, text: string) {
if (this.level <= LogLevel.ERROR) {
console.error(`[ERROR Code ${code}] ${text}`);
}
}
/**
*
* @param code
* @param text
*/
severe(code: number, text: string) {
if (this.level <= LogLevel.SEVERE_WARNING) {
console.warn(`[SEVERE WARNING Code ${code}] ${text}`);
}
}
/**
*
* @param code
* @param text
*/
warn(code: number, text: string) {
if (this.level <= LogLevel.WARNING) {
console.warn(`[WARNING Code ${code}] ${text}`);
}
}
/**
*
* @param text
*/
log(text: string) {
if (this.level <= LogLevel.LOG) {
console.log(`[LOG] ${text}`);
}
}
}
export const logger = new Logger(LogLevel.LOG);

View File

@ -58,6 +58,7 @@ import KeyboardPanel from '@/panel/keyboard.vue';
import { MCGenerator } from './main/layout'; import { MCGenerator } from './main/layout';
import { ResourceController } from './loader/controller'; import { ResourceController } from './loader/controller';
import { readyAllResource } from './loader/load'; import { readyAllResource } from './loader/load';
import { logger } from './common/logger';
// ----- 类注册 // ----- 类注册
Mota.register('class', 'AudioPlayer', AudioPlayer); Mota.register('class', 'AudioPlayer', AudioPlayer);
@ -93,6 +94,7 @@ Mota.register('var', 'mainSetting', mainSetting);
Mota.register('var', 'KeyCode', KeyCode); Mota.register('var', 'KeyCode', KeyCode);
Mota.register('var', 'settingStorage', settingStorage); Mota.register('var', 'settingStorage', settingStorage);
Mota.register('var', 'status', status); Mota.register('var', 'status', status);
Mota.register('var', 'logger', logger);
// ----- 模块注册 // ----- 模块注册
Mota.register('module', 'CustomComponents', { Mota.register('module', 'CustomComponents', {
createSettingComponents, createSettingComponents,

View File

@ -27,6 +27,7 @@ import type { KeyCode } from '@/plugin/keyCodes';
import type { Ref } from 'vue'; import type { Ref } from 'vue';
import type * as battle from './enemy/battle'; import type * as battle from './enemy/battle';
import type * as hero from './hero'; import type * as hero from './hero';
import type { Logger } from '@/core/common/logger';
interface ClassInterface { interface ClassInterface {
// 渲染进程与游戏进程通用 // 渲染进程与游戏进程通用
@ -88,6 +89,7 @@ interface VariableInterface {
// 定义于游戏进程,渲染进程依然可用 // 定义于游戏进程,渲染进程依然可用
haloSpecials: number[]; haloSpecials: number[];
enemySpecials: typeof specials; enemySpecials: typeof specials;
logger: Logger;
} }
interface ModuleInterface {} interface ModuleInterface {}

View File

@ -22,3 +22,4 @@ export { default as Toolbox } from './toolbox.vue';
export { default as Hotkey } from './hotkey.vue'; export { default as Hotkey } from './hotkey.vue';
export { default as Toolbar } from './toolbar.vue'; export { default as Toolbar } from './toolbar.vue';
export { default as ToolEditor } from './toolEditor.vue'; export { default as ToolEditor } from './toolEditor.vue';
export { default as Load } from './load.vue';

13
src/ui/load.vue Normal file
View File

@ -0,0 +1,13 @@
<template>
<div id="load"></div>
</template>
<script lang="ts" setup></script>
<style lang="less" scoped>
#load {
display: flex;
justify-content: center;
align-items: center;
}
</style>