Sample code for 30+ languages & platforms
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

PureBasic
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