[Kimchi-devel] [PATCH] [Wok 0/4] Implement User Request Logger

Lucio Correia luciojhc at linux.vnet.ibm.com
Tue Feb 23 20:43:02 UTC 2016


User request logs are saved by default at log/wok-req.log. The maximum file
size is 3 MB and there is rotation with log/wok-req.log.1, which means it will
spend at most 6 MB of disk space.

The log format is JSON, since the web user interface will provide a log utility
to easily search and filter log results. Sample contents of log/wok-req.log:
{"date": "2016-02-23", "app": "gingerbase", "req": "DELETE", "user": "lucio", "time": "15:08:02"} >>> Delete host debug report 'test1'
{"date": "2016-02-23", "app": "gingerbase", "req": "POST", "user": "lucio", "time": "15:41:07"} >>> Enable host software repository 'rhel7.2'
{"date": "2016-02-23", "app": "gingerbase", "req": "POST", "user": "lucio", "time": "15:42:07"} >>> Disable host software repository 'rhel7.2'

There will be a download function for search results, which will generate a
more log-like text file based on the search results.

Request log results can be searched using the following parameters:
* app: filter by application that received the request (wok, kimchi, etc.)
* user: filter by user that performed the request
* req: filter by request type: POST, DELETE, PUT. GET requests are not logged.
* date: filter by request date in format YYYY-MM-DD

Sample search on user request log using parameters user and app:
curl -u lucio -H "Content-Type: application/json" -H "Accept: application/json" "http://localhost:8010/logs?app=wok&user=root" -X GET -d '{}'

Lucio Correia (4):
  Add User Request Logger
  Log user requests
  Implement User Request Logger API
  Fix tests

 docs/API/logs.md        |  21 ++++++++++
 src/wok/control/base.py |  80 ++++++++++++++++++++++++++++++++++---
 src/wok/control/logs.py |  43 ++++++++++++++++++++
 src/wok/model/logs.py   |  31 +++++++++++++++
 src/wok/reqlogger.py    | 103 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/wok/server.py       |  10 +++++
 src/wok/utils.py        |  12 ++++++
 src/wokd.in             |   4 ++
 tests/utils.py          |   1 +
 9 files changed, 299 insertions(+), 6 deletions(-)
 create mode 100644 docs/API/logs.md
 create mode 100644 src/wok/control/logs.py
 create mode 100644 src/wok/model/logs.py
 create mode 100644 src/wok/reqlogger.py

-- 
1.9.1




More information about the Kimchi-devel mailing list