Logs
SFTPGo logs a stream of JSON structs. Each struct has a sender
field that identifies the log type.
SFTPGo logging options are set either by cli options or environment variables, not in the configuration file. More details.
The logs can be divided into the following categories:
app logs, internal logs used to debug SFTPGo:
sender
string. This is generally the package name that emits the logtime
string. Date/time with millisecond precisionlevel
stringconnection_id
, string, optionalmessage
string
transfer logs, SFTP/SCP transfer logs:
sender
string.Upload
orDownload
time
string. Date/time with millisecond precisionlevel
stringlocal_addr
string. IP/port of the local address the connection arrived on. For FTP protocol this is the address for the control connection. For example127.0.0.1:1234
remote_addr
string. IP and, optionally, port of the remote client. For example127.0.0.1:1234
or127.0.0.1
elapsed_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
,SCP
,SSH
,FTP
,HTTP
,HTTPShare
,DAV
,DataRetention
,EventAction
ftp_mode
, string.active
orpassive
. Included only forFTP
protocolerror
, string. Included if there is a transfer error
command logs, SFTP/SCP command logs:
sender
string.Rename
,Rmdir
,Mkdir
,Symlink
,Remove
,Chmod
,Chown
,Chtimes
,Truncate
,Copy
,SSHCommand
level
string-local_addr
string. IP/port of the local address the connection arrived on. For example127.0.0.1:1234
remote_addr
string. IP and, optionally, port of the remote client. For example127.0.0.1:1234
or127.0.0.1
username
, stringfile_path
stringtarget_path
stringfilemode
string. Valid for senderChmod
otherwise emptyuid
integer. Valid for senderChown
otherwise -1gid
integer. Valid for senderChown
otherwise -1access_time
datetime as YYYY-MM-DDTHH:MM:SS. Valid for senderChtimes
otherwise emptymodification_time
datetime as YYYY-MM-DDTHH:MM:SS. Valid for senderChtimes
otherwise emptysize
int64. Valid for senderTruncate
otherwise -1elapsed
, int64. Elapsed time, as millisecondsssh_command
, string. Valid for senderSSHCommand
otherwise emptyconnection_id
string. Unique connection identifierprotocol
string.SFTP
,SCP
,SSH
,FTP
,HTTP
,DAV
,DataRetention
,EventAction
http logs, REST API logs:
sender
string.httpd
level
stringtime
string. Date/time with millisecond precisionlocal_addr
string. IP/port of the local address the connection arrived on. For example127.0.0.1:1234
remote_addr
string. IP and, optionally, port of the remote client. For example127.0.0.1:1234
or127.0.0.1
proto
string, for exampleHTTP/1.1
method
string. HTTP method (GET
,POST
,PUT
,DELETE
etc.)request_id
string. Omitted in telemetry logsuser_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 identifier
connection failed logs, logs for failed attempts to initialize a connection. A connection can fail for an authentication error or other errors such as a client abort or a timeout if the login does not happen in two minutes
sender
string.connection_failed
level
stringtime
string. Date/time with millisecond precisionusername
, string. Can be empty if the connection is closed before an authentication attemptclient_ip
string.protocol
string. Possible values areSSH
,FTP
,DAV
login_type
string. Can bepublickey
,password
,keyboard-interactive
,publickey+password
,publickey+keyboard-interactive
orno_auth_tried
error
string. Optional error description