目的不一样吧,我是为了在打印日志的位置保存记录,这个记录是要在游戏中展示给测试去看的,原生端游戏,测试如果想看日志或者我想回他们设备上的运行记录,只能自己封装log
哥,我没看懂,你的日志不是可以显示 使用者么?
怎么我复制到我的日志管理器里,还是显示 日志管理器 本身ne ?
为什么你们的脑子都这么好?
我是饭喂到我嘴里才知道,谢谢老师。
样式这东西自己看着舒服心里舒坦
/**
* 日志管理类,用于统一日志输出格式
*/
export class LogMgr {
/**
* 用于输出调试信息
*/
static get debug() {
return window.console.log.bind(window.console, '%c【调试】', 'color: white; background-color: #007BFF; font-weight: bold; font-size: 14px;');
}
/**
* 用于输出一般信息
*/
static get info() {
return window.console.log.bind(window.console, '%c【信息】', 'color: white; background-color: #28A745; font-weight: bold; font-size: 14px;');
}
/**
* 用于输出警告信息
*/
static get warn() {
return window.console.log.bind(window.console, '%c【警告】', 'color: black; background-color: #FFC107; font-weight: bold; font-size: 14px;');
}
/**
* 用于输出错误信息
*/
static get err() {
return window.console.log.bind(window.console, '%c【错误】', 'color: white; background-color: #DC3545; font-weight: bold; font-size: 14px;');
}
}
代码已更新,演示如下:
1赞
好用的咧 

好用就行,适合新手
还以为抄了我的代码。 
嘿嘿,哥们你的这个是怎么写的啊?有没有更高效的
和你写的差不多,但是我的是单例,我觉得window下挂东西,会污染这个window的节点。之前看过太多游戏都挂在下面了。导致不知道下面挂了多少个同名节点嘿嘿。
第二点,你可以看下腾讯的vconsole里,应该是不会显示颜色的。。
目前调试都是在浏览器环境下,我一般都不管vconsole
目前就挂了一个app变量
/** 全局 Window 接口 */
declare global {
interface Window {
app: Core;
}
var app: Core;
}
/** 创建 Core 类的实例并赋值给全局 window 对象 */
window.app = new Core();
这里var改成const会不会更好
嘿嘿,可以,谢谢
就是有一点不好 不确定数据参数数量的情况下 没法用占位符改变所有打印数据的样式 我也不知道怎么优化 索性日志管理类和楼主一样(是不是忘了加过滤等级) 然后自己再重写了console 支持根据参数类型改变不同的打印样式 不过这样做又没法保持原始堆栈
其实不要想这么多
我们的日志管理器主要用于打印一些常规日志,并不是用于堆栈调试。
如果遇到堆栈错误,你不用日志他也会爆红的,也能调试。
我是搞了两手
一手用日志管理类打印常规日志 打印方法里加个过滤等级的判断 这样只要调高过滤等级就不会打印低级日志 属于被动打印 带原始堆栈信息
另一手重写了console用来平时手动打log调试用 经常会打印好几个参数一起看 这样我根据参数类型设置不同的颜色就一目了然 手动打log也不在乎堆栈 
适合我们小白就行 
这个的确可以,多谢了。拿走了!

