first
This commit is contained in:
77
extensions/app/assets/lib/logger/logger.ts
Normal file
77
extensions/app/assets/lib/logger/logger.ts
Normal file
@@ -0,0 +1,77 @@
|
||||
import { DEV } from 'cc/env';
|
||||
|
||||
interface ILog {
|
||||
(title: string, ...args: any[]): void
|
||||
}
|
||||
|
||||
function empty() { }
|
||||
|
||||
/**
|
||||
* 日志管理类,用于统一日志输出格式
|
||||
*/
|
||||
export class Logger {
|
||||
static setting: {
|
||||
filter: Array<'log' | 'warn' | 'error'>
|
||||
} = {
|
||||
filter: ['error', 'log', 'warn']
|
||||
};
|
||||
|
||||
/**
|
||||
* 创建日志输出函数
|
||||
*/
|
||||
static create(level: 'log' | 'warn' | 'error', styleColor: string, title: string, titleColor = '#fff') {
|
||||
if (this.setting.filter.indexOf(level) == -1) {
|
||||
return empty;
|
||||
}
|
||||
|
||||
if (DEV) {
|
||||
return window.console[level].bind(window.console,
|
||||
'%c %s %c %s ',
|
||||
`background:${styleColor}; padding: 2px; border-radius: 5px 0 0 5px; border: 1px solid ${styleColor}; color: ${titleColor}; font-weight: normal;`,
|
||||
`${title} ${new Date().toLocaleString()}`,
|
||||
`background:#ffffff ; padding: 2px; border-radius: 0 5px 5px 0; border: 1px solid ${styleColor}; color: ${styleColor}; font-weight: normal;`
|
||||
);
|
||||
}
|
||||
return window.console[level].bind(window.console,
|
||||
`${title} [${new Date().toLocaleString()}]`
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用于输出一般信息
|
||||
*/
|
||||
get log() {
|
||||
return Logger.create('log', '#6495ed', '[LOG]', '#000') as ILog;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用于输出警告信息
|
||||
*/
|
||||
|
||||
get warn() {
|
||||
return Logger.create('warn', '#ff7f50', '[WARN]', '#000') as ILog;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用于输出错误信息
|
||||
*/
|
||||
get error() {
|
||||
return Logger.create('error', '#ff4757', '[ERROR]', '#000') as ILog;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用于输出调试信息
|
||||
*/
|
||||
get debug() {
|
||||
return Logger.create('log', '#ff6347', '[DEBUG]', '#000') as ILog;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用于输出成功信息
|
||||
*/
|
||||
get success() {
|
||||
return Logger.create('log', '#00ae9d', '[SUCC]', '#000') as ILog;
|
||||
}
|
||||
}
|
||||
|
||||
export default new Logger();
|
||||
9
extensions/app/assets/lib/logger/logger.ts.meta
Normal file
9
extensions/app/assets/lib/logger/logger.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "0b5812e8-b67d-4ba9-83d8-12ca1e46cfd0",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
Reference in New Issue
Block a user