Swift
Swift
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 Swift Downloads
func chilkatTest() {
var success: Bool = false
// Demonstrates the SFtp.ClearSessionLog method, which clears the in-memory text stored in the
// SessionLog property. It takes no arguments.
let sftp = CkoSFtp()!
// Connect, authenticate, and initialize the SFTP subsystem.
var port: Int = 22
success = sftp.connect(hostname: "sftp.example.com", port: port)
if success == false {
print("\(sftp.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.
var password: String? = "mySshPassword"
success = sftp.authenticatePw(login: "mySshLogin", password: password)
if success == false {
print("\(sftp.lastErrorText!)")
return
}
success = sftp.initializeSftp()
if success == false {
print("\(sftp.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()
}