Logging
In vSMTP, logs are separated in two categories: server logs & app logs.
- server logs are relative to vsmtp, they regroup information about the client, internal state & errors.
- app logs are written using the
log(level, message)
function in yourvsl
rules.
Server logs
By default, server logs are located at /var/log/vsmtp/vsmtp.log
.
Logs are configured by “modules”, that represent a specific part of the server.
The rule_engine
module will enable logs for the rule engine, parser
for the
mime parser, etc …
To configure server logs, use the syntax down below in your vsmtp.toml
:
[server.logs]
# You can change the location of the server logs.
filepath = "./tmp/system/vsmtp.log"
level = [
# set global logging to "info", set the same log level for all modules.
"default=info",
# set specific vSMTP module logs (override "server" log level for specific module)
# possible modules are:
# - queue
# - receiver
# - rule_engine
# - delivery
# - parser
# - runtime
# - processes
"receiver=info",
"rule_engine=warn",
"delivery=error",
"parser=trace",
]
Application logs
To configure applicative logs (log output of your vsl files, using the log(level, message)
function), write the following in your vsmtp.toml
:
[app.logs]
# You can change the location of the application logs.
filepath = "./tmp/system/app.log"
Syslogs
vSMTP automatically write to syslogs with the info
level by default. It is not yet configurable.
Files are written at /dev/log
or /var/run/syslog
.