logging

Buru SFTP Server supports two types of configurable file-based logging: access logs that record user activity (connections, file transfers, authentication attempts) and server logs that capture internal events useful for diagnostics and troubleshooting. Both are written as daily log files and retained indefinitely unless a retention limit is configured. For a step-by-step setup guide, see Logging.

Web Administration logging is configured separately in webconfig.yaml.

The server service account must have write access to all configured log directories.

Enclose Windows paths containing colons (:) or spaces in single quotes to avoid YAML parsing errors, for example: 'C:\ProgramData\Rebex\BuruSftp\logs'.

logging:
  # user activity
  access:
    location: 'D:\buru\logs\access'
    maxFileCount: 0               # keep all files

  # server event log (for debugging)
  server:
    location: 'D:\buru\logs\server'
    minLevel: warning             # verbose | debug | information | warning | error | fatal
    maxFileCount: 31              # keep ~1 month

logging.access

object

Log file configuration for machine-parseable user activity logs. Only events generated by the running server (connections, authentication, file operations) are recorded. Administrative actions performed via the Web Admin or CLI, such as password changes or user management, are not included.

The format of the access log is not finalized yet and is subject to change in future versions.

logging.access.location

string

Directory where access logs are stored.

logging.access.maxFileCount

number = 0

Maximum number of log files to keep (oldest files exceeding the limit will be deleted). Set to 0 to keep all files.

logging.server

object

Log file configuration for SSH server event logs.

logging.server.location

string

Directory where server event logs are stored.

logging.server.maxFileCount

number = 0

Maximum number of log files to keep (oldest files exceeding the limit will be deleted). Set to 0 to keep all files.

logging.server.minLevel

string: "verbose" | "debug" | "information" | "warning" | "error" | "fatal" = "warning"

Minimum log level to write.

logging.useCustomConfig

boolean = false

Enables custom logging via Serilog configuration. See Advanced Logging with Serilog for details.

When enabled, access and server settings above are ignored. This feature is intended for advanced users familiar with the Serilog logging library and .NET platform.

logging:
  useCustomConfig: true

On this page