本教程解释了如何在dart和flutter应用程序中添加日志?
Logging 是用来记录不同类型的消息,如信息、错误和调试信息,帮助开发人员调试错误和问题。
目前,在Dart中有两类流行的库
- Dart日志
- Dart日志器
您可以在Dart和Flutter应用程序中添加这些记录器
我们将在Dart应用程序中使用日志库。
如何在Dart应用程序中使用日志,并举例说明?
首先,将日志依赖性添加到pubspec.yml
name: dartapp
description: >-
dart example application.
version: 1.0.0
environment:
sdk: '>=2.10.0 <3.0.0'
dependencies:
logging: any
dev_dependencies:
intl: any
接下来,使用以下命令安装该依赖性dart pub install 在dart中安装依赖性flutter pub install 在flutter中安装依赖性
一旦依赖性安装完毕,请遵循以下步骤
- 在你的代码中导入日志包
然后在你的dart代码中,导入以下包
import 'package:logging/logging.dart';
接下来,首先,初始化一个Logger类的对象,并给它传递一个唯一的字符串。
final log = Logger('LoggingExample');
在你配置了Levels和onRecord listen之前,日志不会打印任何东西。
listen方法应该记录不同的自定义消息
LEVEL.INFO是一个默认的日志,它记录信息消息,它不记录调试消息。
LEVEL.ALL:它打印所有的日志信息
Logger.root.level = Level.ALL; // defaults to Level.INFO
Logger.root.onRecord.listen((record) {
print('${record.level.name}: ${record.time}: ${record.message}');
});
接下来,使用不同的方法记录消息。
log.info("log info method");
让我们看看启用不同LEVEL.INFO的不同例子。
Dart日志LEVEL.ALL例子
import 'package:logging/logging.dart';
final log = Logger('LoggingExample');
void main() {
Logger.root.level = Level.ALL;
Logger.root.onRecord.listen((record) {
print('${record.level.name}: ${record.time}: ${record.message}');
});
// log message with different methods
log.shout("log shout method");
log.severe("log severe method");
log.warning("log warning method");
log.info("log info method");
log.config("log config method");
log.fine("log fine method");
log.finer("log finer method");
log.finest("log finest method");
}
输出:它记录了所有包含不同级别的消息类型
SHOUT: 2022-07-03 09:51:00.894768: log shout method
SEVERE: 2022-07-03 09:51:00.894768: log severe method
WARNING: 2022-07-03 09:51:00.894768: log warning method
INFO: 2022-07-03 09:51:00.894768: log info method
CONFIG: 2022-07-03 09:51:00.904131: log config method
FINE: 2022-07-03 09:51:00.904131: log fine method
FINER: 2022-07-03 09:51:00.904131: log finer method
FINEST: 2022-07-03 09:51:00.904131: log finest method
接下来,将日志级别改为OFF
Logger.root.level = Level.OFF;
输出:它不打印任何日志信息。
下一步,将日志记录级别改为INFO
Logger.root.level = Level.INFO;
它在输出下面打印信息消息。
SHOUT: 2022-07-03 09:53:48.817704: log shout method
SEVERE: 2022-07-03 09:53:48.823688: log severe method
WARNING: 2022-07-03 09:53:48.823688: log warning method
INFO: 2022-07-03 09:53:48.824687: log info method
下一步,将日志记录级别改为CONFIG
Logger.root.level = Level.CONFIG;
输出:
SHOUT: 2022-07-03 09:54:31.165708: log shout method
SEVERE: 2022-07-03 09:54:31.174165: log severe method
WARNING: 2022-07-03 09:54:31.174165: log warning method
INFO: 2022-07-03 09:54:31.174165: log info method
CONFIG: 2022-07-03 09:54:31.174165: log config method
随着上述不同级别的配置,它显示不同的日志信息。
Dart日志记录级别
目前,它支持以下级别
Level.OFF: 禁用日志记录 Level.SHOUT: 记录喊叫信息 Level.SEVERE: 记录严重错误 Level.WARNING: 记录警告 Level.INFO: 记录有用信息 Level.CONFIG: 记录配置信息 Level.FINE: 以FINE级别记录成功信息 Level.FINER: 以FINER级别记录成功信息 Class.FINEST: 以FINEST级别记录成功信息