diff --git a/lib/livekit_client.dart b/lib/livekit_client.dart index 60521c6..6d01f3a 100644 --- a/lib/livekit_client.dart +++ b/lib/livekit_client.dart @@ -7,6 +7,7 @@ export 'src/exceptions.dart'; export 'src/extensions.dart' show WidgetsBindingCompatible; export 'src/hardware/hardware.dart'; export 'src/livekit.dart'; +export 'src/logger.dart'; export 'src/managers/event.dart'; export 'src/options.dart'; export 'src/participant/local.dart'; diff --git a/lib/src/logger.dart b/lib/src/logger.dart index d130fcd..7c67c54 100644 --- a/lib/src/logger.dart +++ b/lib/src/logger.dart @@ -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); +///}