enableWebSocketLog static method

Future<void> enableWebSocketLog({
  1. DKLogLevel webSocketLogLevel = DKLogLevel.debug,
  2. bool autoDiscover = true,
  3. String? host,
  4. int? port,
  5. String? path,
  6. String? serviceName,
})

启用 WebSocket 日志传输

将日志通过 WebSocket 发送到电脑端进行实时查看

webSocketLogLevel - WebSocket 传输的最低日志级别(默认 debug,传输所有级别) autoDiscover - 是否自动通过 mDNS 发现服务器(默认 true) host - 手动指定服务器地址(如果不使用自动发现) port - 手动指定服务器端口(如果不使用自动发现) path - WebSocket 路径(默认为空,例如 '/logs') serviceName - mDNS 服务名称(可选,用于指定特定服务器)

示例:

// 自动发现服务器
await Log.enableWebSocketLog();

// 手动指定服务器
await Log.enableWebSocketLog(
  autoDiscover: false,
  host: '192.168.1.100',
  port: 9090,
  path: '/logs',
);

// 只传输 INFO 及以上级别的日志
await Log.enableWebSocketLog(
  webSocketLogLevel: LogLevel.info,
);

Implementation

static Future<void> enableWebSocketLog({
  DKLogLevel webSocketLogLevel = DKLogLevel.debug,
  bool autoDiscover = true,
  String? host,
  int? port,
  String? path,
  String? serviceName,
}) async {
  if (kIsWeb) {
    debugPrint('[DKLog] Web 平台暂不支持 WebSocket 日志传输');
    return;
  }

  _webSocketEnabled = true;
  _webSocketLogLevel = webSocketLogLevel;

  await _webSocketClient.enable(
    autoDiscover: autoDiscover,
    host: host,
    port: port,
    path: path,
    serviceName: serviceName,
  );

  debugPrint('[DKLog] WebSocket 日志传输已启用');
}