Sample code for 30+ languages & platforms
Dart

Clear the SFTP Session Log

See more SFTP Examples

Demonstrates the Chilkat SFtp.ClearSessionLog method, which clears the in-memory text stored in the SessionLog property. It takes no arguments.

Background: With session logging enabled, the SessionLog accumulates a running record of the session's activity that is invaluable for diagnosing a failed transfer. Over a long-lived session that log grows unbounded, so clearing it frees memory — and, more usefully, lets you capture the log for one specific operation in isolation by clearing it just before and reading it just after.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // Demonstrates the SFtp.ClearSessionLog method, which clears the in-memory text stored in the
  // SessionLog property.  It takes no arguments.

  final sftp = CkSFtp();

  // Connect, authenticate, and initialize the SFTP subsystem.
  final port = 22;
  try {
    sftp.connect('sftp.example.com', port);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Normally you would not hard-code the password in source.  You should instead obtain it
  // from an interactive prompt, environment variable, or a secrets vault.
  final password = 'mySshPassword';

  try {
    sftp.authenticatePw('mySshLogin', password);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  try {
    sftp.initializeSftp();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // When KeepSessionLog is enabled, the SessionLog property accumulates a record of the session's
  // activity, which is useful for debugging.
  sftp.keepSessionLog = true;

  // ... perform operations ...

  // Clear the accumulated log, for example before starting a new logical operation whose log you
  // want to capture in isolation.
  sftp.clearSessionLog();
  print('Session log cleared.');

  sftp.disconnect();
}