Skip to content

Commit

Permalink
Nice preset extended with get_log_format_default() demo helper method.
Browse files Browse the repository at this point in the history
  • Loading branch information
idlesign committed Dec 7, 2017
1 parent 3cec176 commit 60f6b3f
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 3 deletions.
1 change: 1 addition & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ uwsgiconf changelog

Unreleased
----------
+ Nice preset extended with 'get_log_format_default()' demo helper method.
+ Implemented 'logging.vars.request_var' and 'logging.vars.metric'
* Renamed several .logging.vars.
* Fixed .logging 'prefix_date' parameter handling.
Expand Down
2 changes: 2 additions & 0 deletions tests/presets/test_nice.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ def test_nice_section(assert_lines):

], Section(log_dedicated=True, ignore_write_errors=True))

assert '%(headers) headers in %(hsize) bytes' in Section().get_log_format_default()


def test_nice_python(assert_lines):

Expand Down
44 changes: 41 additions & 3 deletions uwsgiconf/presets/nice.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ class Section(_Section):

def __init__(
self, name=None, touch_reload=None, workers=None, threads=None, mules=None, owner=None,
log_into=None, process_prefix=None, log_dedicated=None, ignore_write_errors=None,
log_into=None, log_dedicated=None,
process_prefix=None, ignore_write_errors=None,
**kwargs):
"""
Expand All @@ -25,11 +26,11 @@ def __init__(
:param str|unicode log_into: Filepath or UDP address to send logs into.
:param str|unicode process_prefix: Add prefix to process names.
:param bool log_dedicated: If ``True`` all logging will be handled with a separate
thread in master process.
:param str|unicode process_prefix: Add prefix to process names.
:param bool ignore_write_errors: If ``True`` no annoying SIGPIPE/write/writev errors
will be logged, and no related exceptions will be raised.
Expand Down Expand Up @@ -79,6 +80,43 @@ def __init__(
self.master_process.set_exception_handling_params(no_write_exception=True)
self.logging.set_filters(write_errors=False, sigpipe=False)

def get_log_format_default(self):
"""Returns default log message format.
.. note:: Some params may be missing.
"""
vars = self.logging.vars

format_default = (
'[pid: %s|app: %s|req: %s/%s] %s (%s) {%s vars in %s bytes} [%s] %s %s => '
'generated %s bytes in %s %s%s(%s %s) %s headers in %s bytes (%s switches on core %s)' % (

vars.WORKER_PID,
'-', # app id
'-', # app req count
'-', # worker req count
vars.REQ_REMOTE_ADDR,
vars.REQ_REMOTE_USER,
vars.REQ_COUNT_VARS_CGI,
vars.SIZE_PACKET_UWSGI,
vars.REQ_START_CTIME,
vars.REQ_METHOD,
vars.REQ_URI,
vars.RESP_SIZE_BODY,
vars.RESP_TIME_MS, # or RESP_TIME_US,
'-', # tsize
'-', # via sendfile/route/offload
vars.REQ_SERVER_PROTOCOL,
vars.RESP_STATUS,
vars.RESP_COUNT_HEADERS,
vars.RESP_SIZE_HEADERS,
vars.ASYNC_SWITCHES,
vars.CORE,
))

return format_default

def configure_owner(self, owner='www-data'):
"""Shortcut to set process owner data.
Expand Down

0 comments on commit 60f6b3f

Please sign in to comment.