Describing the accesslog
Setting
-
The setting in the configuration file is:
accesslog
-
The setting in the CLI is:
--access-logfile FILE
- It defaults to
None
- This setting specifies the file used for logging access
- If
-
is specified, then access logging is written to stdout
Describing the disable_redirect_access_to_syslog
Setting
-
The setting in the configuration file is:
disable_redirect_access_to_syslog
-
The setting in the CLI is:
--disable-redirect-access-to-syslog
- It defaults to
False
- This setting specifies whether to redirect access logs to syslog
- The syslog protocol transports messages to a logging server
Describing the access_log_format
Setting
-
The setting in the configuration file is:
access_log_format
-
The setting in the CLI is:
--access-logformat STRING
- It defaults to
%(h)s %(l)s %(u)s %(t)s '%(r)s' %(s)s %(b)s '%(f)s' '%(a)s'
- This setting specifies the access log format
- Refer to this list of identifiers for more information
- The following identifers are a few popular ones:
identifier | description |
---|---|
h | remote address |
l | - |
u | user name |
t | date of the request |
r | status line (e.g. GET / HTTP/1.1 ) |
s | status |
b | response length |
f | referer |
a | user agent |
Describing the errorlog
Setting
- The setting in the configuration file is:
-
loglevel
- The setting in the CLI is:
-
--error-logfile FILE
- It defaults to
-
- This setting specifies the file used for writing errors
- If
-
is specified, then error logging is written to stdout
Describing the loglevel
Setting
-
The setting in the configuration file is:
loglevel
-
The setting in the CLI is:
--log-level LEVEL
- It defaults to
info
- This setting specifies the granularity of the error in the error log
-
Valid level names are the following:
debug
info
warning
error
critical
Describing the capture_output
Setting
-
The setting in the configuration file is:
capture_output
-
The setting in the CLI is:
--capture-output
- It defaults to
False
- This setting specifies whether to redirect error logs to stderr
Describing the logger_class
Setting
-
The setting in the configuration file is:
logger_class
- The setting in the CLI is:
-
--logger-class STRING
- It defaults to
gunicorn.glogging.Logger
- This setting specifies the logger used to log events in Gunicorn
- The default
gunicorn.glogging.Logger
handles most normal functionalities for logging - Specifically, it provides error and access logging
- We can customize our own logger and provide it using this setting
Describing the logconfig
Setting
-
The setting in the configuration file is:
logconfig
-
The setting in the CLI is:
--log-config FILE
- It defaults to
None
- This setting specifies the configuration file used for logging
- Gunicorn uses the configuration file format in the standard Python logging module
Describing the logconfig_dict
Setting
-
The setting in the configuration file is:
logconfig_dict
-
The setting in the CLI is:
--log-config-dict DICT
- It defaults to
{}
- This setting specifies a configuration file as a dictionary
- This configuration file is used for logging
- For more information about the format, refer to the docs
- This option takes precedence over the
logconfig
option - This is because the
logconfig
setting uses the older file configuration format
Describing the syslog_addr
Setting
-
The setting in the configuration file is:
syslog_addr
-
The setting in the CLI is:
--log-syslog-to SYSLOG_ADDR
- It defaults to
udp://localhost:514
- This setting specifies an address to send syslog messages
-
The address is a string of the following format:
tcp://HOST:PORT
- Or
udp://HOST:PORT
Describing the syslog
Setting
-
The setting in the configuration file is:
syslog
-
The setting in the CLI is:
--log-syslog
- It defaults to
False
- This setting specifies whether to send Gunicorn logs to syslog
- Sending access logs can be disabled using the
disable_redirect_access_to_syslog
setting
Describing the syslog_prefix
Setting
-
The setting in the configuration file is:
syslog_prefix
-
The setting in the CLI is:
--log-syslog-prefix SYSLOG_PREFIX
- It defaults to
None
- This setting specifies a
SYSLOG_PREFIX
parameter used in the syslog entries as the program name
Describing the syslog_facility
Setting
-
The setting in the configuration file is:
syslog_facility
-
The setting in the CLI is:
--log-syslog-facility SYSLOG_FACILITY
- It defaults to
user
- This setting specifies a
SYSLOG_FACILITY
name
Example of the accesslog
Setting
- A
.py
configuration file can be defined as:
# config.py
>>> accesslog = 'myfile.log'
- We can specify it using the
-c
flag:
$ gunicorn -c config.py ...
- Or we can specify the
accesslog
setting using the CLI:
$ gunicorn --access-logfile myfile.log ...
Example of access_log_format
Setting
- A
.py
configuration file can be defined as:
# config.py
>>> access_log_format = 'remote_ip: %(h)s'
- We can specify it using the
-c
flag:
$ gunicorn -c config.py ...
- Or we can specify the
access_log_format
setting using the CLI:
$ gunicorn --access_log_format %(h)s ...
Example of errorlog
Setting
- A
.py
configuration file can be defined as:
# config.py
>>> errorlog = 'myerrors.log'
- We can specify it using the
-c
flag:
$ gunicorn -c config.py ...
- Or we can specify the
loglevel
setting using the CLI:
$ gunicorn --error-logfile myerrors.log ...
Example of loglevel
Setting
- A
.py
configuration file can be defined as:
# config.py
>>> errorfile = 'myerrors.log'
>>> loglevel = 'warning'
- We can specify it using the
-c
flag:
$ gunicorn -c config.py ...
- Or we can specify the
loglevel
setting using the CLI:
$ gunicorn --log-level warning ...