PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkSFtp.pb"
Procedure ChilkatExample()
success.i = 0
; Demonstrates the SFtp.ClearSessionLog method, which clears the in-memory text stored in the
; SessionLog property. It takes no arguments.
sftp.i = CkSFtp::ckCreate()
If sftp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Connect, authenticate, and initialize the SFTP subsystem.
port.i = 22
success = CkSFtp::ckConnect(sftp,"sftp.example.com",port)
If success = 0
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
; 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.
password.s = "mySshPassword"
success = CkSFtp::ckAuthenticatePw(sftp,"mySshLogin",password)
If success = 0
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
success = CkSFtp::ckInitializeSftp(sftp)
If success = 0
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
; When KeepSessionLog is enabled, the SessionLog property accumulates a record of the session's
; activity, which is useful for debugging.
CkSFtp::setCkKeepSessionLog(sftp, 1)
; ... perform operations ...
; Clear the accumulated log, for example before starting a new logical operation whose log you
; want to capture in isolation.
CkSFtp::ckClearSessionLog(sftp)
Debug "Session log cleared."
CkSFtp::ckDisconnect(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndProcedure