initialize static method

Future<void> initialize({
  1. String? appName,
  2. String? appVersion,
  3. String? userId,
  4. LoggingConfig? config,
})

Initialize VooLogger with optional configuration.

This is called automatically on first log if not explicitly called. For explicit initialization with custom config, prefer ensureInitialized.

Implementation

static Future<void> initialize({String? appName, String? appVersion, String? userId, LoggingConfig? config}) async {
  instance._config = config ?? instance._config ?? LoggingConfig.minimal();

  if (instance._initialized) {
    // If already initialized, update the repository with new config
    await instance._repository.initialize(
      appName: appName,
      appVersion: appVersion,
      userId: userId,
      minimumLevel: instance._config!.minimumLevel,
      config: instance._config,
    );
    return;
  }

  instance._initialized = true;

  await instance._repository.initialize(
    appName: appName,
    appVersion: appVersion,
    userId: userId,
    minimumLevel: instance._config!.minimumLevel,
    config: instance._config,
  );
}