init static method
Implementation
static Future<void> init(LogConfig config) async {
_config = config;
// 普通日志输出通道(PrettyPrinter)
List<LogOutput> outputsPretty = [DeveloperOutput(name: 'LOG')];
// Console 专用输出通道(RawPrinter,保持纯文本)
List<LogOutput> outputsRaw = [DeveloperOutput(name: 'CONSOLE')];
if (config.canWriteToFile) {
_fileOutput = IsolateFileOutput(config);
await _fileOutput.init();
outputsPretty.add(_fileOutput);
outputsRaw.add(_fileOutput);
}
if (config.output != null) {
outputsPretty = [...outputsPretty, ...config.output!];
outputsRaw = [...outputsRaw, ...config.output!];
}
if (config.composeOutputs != null) {
outputsPretty = config.composeOutputs!(outputsPretty);
outputsRaw = config.composeOutputs!(outputsRaw);
}
_logger = Logger(
filter:
config.filter ?? ComLogFilter(LevelAdapter.toLevel(config.logLevel)),
printer: config.printer ?? PrettyPrinter(),
output: MultiOutput(outputsPretty),
);
_consoleLogger = Logger(
filter:
config.filter ?? ComLogFilter(LevelAdapter.toLevel(config.logLevel)),
printer: RawPrinter(),
output: MultiOutput(outputsRaw),
);
}