Zig
Zig
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 Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// Demonstrates the Ftp2.ClearSessionLog method, which clears the in-memory FTP protocol log. It
// takes no arguments and is a void method.
const ftp = try chilkat.Ftp2.init();
defer ftp.deinit();
ftp.setHostname("ftp.example.com");
ftp.setUsername("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.
ftp.setPassword("myPassword");
ftp.connect() catch {
std.debug.print("{s}\n", .{try ftp.getLastErrorText(alloc)});
return;
};
// The SessionLog accumulates the FTP protocol conversation when KeepSessionLog is enabled, which
// is useful for debugging.
ftp.setKeepSessionLog(true);
// ... perform some operations ...
// Clear the log, for example before starting a new logical operation whose log you want to
// capture in isolation.
ftp.clearSessionLog();
std.debug.print("Session log cleared.\n", .{});
ftp.disconnect() catch {
std.debug.print("{s}\n", .{try ftp.getLastErrorText(alloc)});
return;
};
}