The log file is a stream of JSON structs. Each struct has a sender field that identifies the log type.
The logs can be divided into the following categories:
sender string. This is generally the package name that emits the logtime string. Date/time with millisecond precisionlevel stringmessage stringsender string. Upload or Downloadtime string. Date/time with millisecond precisionlevel stringelapsed_ms, int64. Elapsed time, as milliseconds, for the upload/downloadsize_bytes, int64. Size, as bytes, of the download/uploadusername, stringfile_path stringconnection_id string. Unique connection identifierprotocol string. SFTP or SCPsender string. Rename, Rmdir, Mkdir, Symlink, Remove, Chmod, Chown, Chtimes, SSHCommandlevel stringusername, stringfile_path stringtarget_path stringfilemode string. Valid for sender Chmod otherwise emptyuid integer. Valid for sender Chown otherwise -1gid integer. Valid for sender Chown otherwise -1access_time datetime as YYYY-MM-DDTHH:MM:SS. Valid for sender Chtimes otherwise emptymodification_time datetime as YYYY-MM-DDTHH:MM:SS. Valid for sender Chtimes otherwise emptyssh_command, string. Valid for sender SSHCommand otherwise emptyconnection_id string. Unique connection identifierprotocol string. SFTP, SCP or SSHsender string. httpdlevel stringremote_addr string. IP and port of the remote clientproto string, for example HTTP/1.1method string. HTTP method (GET, POST, PUT, DELETE etc.)user_agent stringuri string. Full uriresp_status integer. HTTP response status coderesp_size integer. Size in bytes of the HTTP responseelapsed_ms int64. Elapsed time, as milliseconds, to complete the requestrequest_id string. Unique request identifiersender string. connection_failedlevel stringusername, string. Can be empty if the connection is closed before an authentication attemptclient_ip string.login_type string. Can be publickey, password, keyboard-interactive or no_auth_tryederror string. Optional error description