守护 Logger
AdGuard Logger是一个简单的工具,用于从AdGuard扩展记录.
使用量
安装
pnpm add @adguard/logger
基本用途
该软件包支持CommonJS和ES模块导入样式.
const { Logger } = require('@adguard/logger');
// or
import { Logger } from '@adguard/logger';
const logger = new Logger();
logger.info('This is an info message');
默认日志级别设定为 info,意思是信息在 debug 关卡不会被记录.
您可以通过设置日志级别来调整 :
import { Logger, LogLevel } from './Logger';
const logger = new Logger();
logger.currentLevel = LogLevel.Debug;
console.log(logger.currentLevel); // Outputs 'debug'
logger.debug('This is a debug message');
此外,您可以通过提供自己的日志撰写器来定制您的日志解决方案,
而不是仅仅依赖默认 console 日志编辑器 :
import { Logger, LogLevel } from './Logger';
const writeToFile = (...args: any[]) => {
// Implement file writing logic here
};
const writer = {
log: (...args: any[]): void => {
writeToFile(...args);
console.log(...args);
},
error: (...args: any[]): void => {
writeToFile(...args);
console.error(...args);
},
info: (...args: any[]): void => {
writeToFile(...args);
console.info(...args);
},
};
const logger = new Logger(writer);
Verbose 记录和跟踪输出
这种模式的设计完全是为了开发和调试目的, 在控制台中提供可点击的调用堆栈跟踪 对于代码执行的最大限度的洞察.
当日志设定为 LogLevel.Verbose,除此之外,所有日志方法 error()
将打印一个调用堆栈跟踪.
这有助于跟踪执行过程并诊断出复杂的问题.
堆栈跟踪显示为控制台中已倒塌的组
如果写入器支持 groupCollapsed 财务报告和审定财务报表 groupEnd, (中文(简体) ),
使日志更容易读取;否则会打印出痕迹.
为促成这种行为,必须满足下列条件:
- 日志级别必须设置为
LogLevel.Verbose。 。 。 . - 日志方法不能是
error()(自2006年起)error()已包含堆栈跟踪).
该功能针对需要详细,分步跟踪应用程序执行的开发者.