最近发现logger不好使,那么自己搞一个。
dart自带的包 dart:developer下的log好像不错,原链接:
logging
看了相关文章,导包,使用
// main.dart
import 'dart:developer' as developer;
// Blue text
void logInfo(String msg) {
developer.log('\x1B[34m$msg\x1B[0m');
}
// Green text
void logSuccess(String msg) {
developer.log('\x1B[32m$msg\x1B[0m');
}
// Yellow text
void logWarning(String msg) {
developer.log('\x1B[33m$msg\x1B[0m');
}
// Red text
void logError(String msg) {
developer.log('\x1B[31m$msg\x1B[0m');
}
void main() {
logInfo('Hello buddy');
logSuccess('Welcome to KindaCode.com');
logWarning('I am a bad man. Be careful');
logError('Ops. We ran into some trouble');
}
看起来挺正经的
然而只能在vscode debug时候能看,as/idea不显示,颜色也被直接拆分了
(不确定是不是是我的问题,如果是,请指出)
那么 有没有办法可以在as/idea也能输出有颜色的日志,以便区分呢?
下面是我想的一个办法
还是一样用developer的log 但是输出的时候加上前缀 INFO/DEBUG/WARNING/ERROR等
void logInfo(Object message) {
developer.log('INFO ${message.toString()}', time: DateTime.now());
}
void logDebug(Object message) {
developer.log('DEBUG ${message.toString()}', time: DateTime.now());
}
void logWarning(Object message) {
developer.log('WARNING ${message.toString()}', time: DateTime.now());
}
void logError(Object message, {StackTrace? stackTrace}) {
developer.log('ERROR ${message.toString()}',
time: DateTime.now(), stackTrace: stackTrace);
}
然后as/idea安装插件: Grep console
怎么配置? 基本上你不用配置,默认表达式基本识别到输出的信息
详细的简单解析,原链接🔗blog.csdn.net/m0_47562022…
下面看看结果
嗯.....感觉总比白色好😅