所有追加器都继承自同一抽象类AbstractAppender
,开发者可以自行实现其中关键方法,并通过Logger
中的addAppender
方法将追加器绑定至Logger
。
追加器的生命周期#
追加器有以下周期
onLog(level, tag, time, count, message)
level
Level - 日志等级tag
string - 日志所属类名time
number - 日志打印时间戳count
number - 该日志为此Appender
处理的第count
条日志message
string - 日志内容
当有日志被记录时,追加器的onLog方法会被Logger调用,开发者可自行实现日志功能。
onTerminate()
当追加器被终止时,onTerminate方法会被Logger调用,开发者应当在此处回收不再被使用的内存,或取消不必要的事件订阅。
实例#
这个例子实现了一个最简单的追加器,用于将日志输出到控制台上
class SimpleAppenderClass extends AbstractAppender {
onLog(level: Level, tag: string, time: number, count: number, message: string): void {
console.log(message);
}
onTerminate(): void {
return;
}
}
export const SimpleAppender = new SimpleAppenderClass;
import { SimpleAppender } from './file.ets';
import { Logger, LogManager } from '@pie/log4a';
class SomeClass {
logger: Logger = LogManager.getLogger(this).addAppender(SimpleAppender);
}