Sample code for 30+ languages & platforms
PureBasic

Clear the FTP Session Log

See more FTP Examples

Demonstrates the Chilkat Ftp2.ClearSessionLog method, which clears the in-memory FTP protocol log collected while KeepSessionLog is enabled. It takes no arguments.

Background: With session logging on, the SessionLog accumulates the full FTP command/reply conversation, which is invaluable for diagnosing a failed transfer. Over a long-lived session it grows unbounded, so clearing it frees memory — and, more usefully, lets you capture the log for one specific operation in isolation by clearing just before and reading just after.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkFtp2.pb"

Procedure ChilkatExample()

    success.i = 0

    ;  Demonstrates the Ftp2.ClearSessionLog method, which clears the in-memory FTP protocol log.  It
    ;  takes no arguments and is a void method.

    ftp.i = CkFtp2::ckCreate()
    If ftp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkFtp2::setCkHostname(ftp, "ftp.example.com")
    CkFtp2::setCkUsername(ftp, "myFtpLogin")

    ;  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.
    CkFtp2::setCkPassword(ftp, "myPassword")

    success = CkFtp2::ckConnect(ftp)
    If success = 0
        Debug CkFtp2::ckLastErrorText(ftp)
        CkFtp2::ckDispose(ftp)
        ProcedureReturn
    EndIf

    ;  The SessionLog accumulates the FTP protocol conversation when KeepSessionLog is enabled, which
    ;  is useful for debugging.
    CkFtp2::setCkKeepSessionLog(ftp, 1)

    ;  ... perform some operations ...

    ;  Clear the log, for example before starting a new logical operation whose log you want to
    ;  capture in isolation.
    CkFtp2::ckClearSessionLog(ftp)
    Debug "Session log cleared."

    success = CkFtp2::ckDisconnect(ftp)
    If success = 0
        Debug CkFtp2::ckLastErrorText(ftp)
        CkFtp2::ckDispose(ftp)
        ProcedureReturn
    EndIf



    CkFtp2::ckDispose(ftp)


    ProcedureReturn
EndProcedure