export logger level api. (#244)

This commit is contained in:
CloudWebRTC
2023-03-02 12:06:12 +08:00
committed by GitHub
parent 280e94378a
commit e3f78c2b4c
2 changed files with 65 additions and 8 deletions
+64 -8
View File
@@ -1,11 +1,67 @@
import 'package:logging/logging.dart';
/// Logger used for the entire SDK. To output logs, configure the logger at the
/// entry point of your app. Adjust the logger output level to your needs.
/// A typical configuration would look like the following:
///
/// Logger.root.level = Level.FINE;
/// Logger.root.onRecord.listen((record) {
/// print('${record.level.name}: ${record.message}');
/// });
enum LoggerLevel {
kALL,
kFINEST,
kFINER,
kFINE,
kCONFIG,
kINFO,
kWARNING,
kSEVERE,
kSHOUT,
kOFF
}
final logger = Logger('livekit');
/// disable logging
void disableLogging() {
logger.level = Level.OFF;
}
/// set the logging level
void setLoggingLevel(LoggerLevel level) {
switch (level) {
case LoggerLevel.kALL:
logger.level = Level.ALL;
break;
case LoggerLevel.kFINEST:
logger.level = Level.FINEST;
break;
case LoggerLevel.kFINER:
logger.level = Level.FINER;
break;
case LoggerLevel.kFINE:
logger.level = Level.FINE;
break;
case LoggerLevel.kCONFIG:
logger.level = Level.CONFIG;
break;
case LoggerLevel.kINFO:
logger.level = Level.INFO;
break;
case LoggerLevel.kWARNING:
logger.level = Level.WARNING;
break;
case LoggerLevel.kSEVERE:
logger.level = Level.SEVERE;
break;
case LoggerLevel.kSHOUT:
logger.level = Level.SHOUT;
break;
case LoggerLevel.kOFF:
logger.level = Level.OFF;
break;
}
}
/// get the current logging level
Level getLoggingLevel() {
return logger.level;
}
/// set a custom logging handler
///void setLoggingHandler(Function(LogRecord) handler) {
/// logger.onRecord.listen(handler);
///}