This is an automated email from the ASF dual-hosted git repository.
sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-ponymail-foal.git
The following commit(s) were added to refs/heads/master by this push:
new 79f994b Add basic API logging
79f994b is described below
commit 79f994b835e396ddd5c9d6398d258785915812d2
Author: Sebb <[email protected]>
AuthorDate: Sun Nov 28 11:28:22 2021 +0000
Add basic API logging
---
server/main.py | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/server/main.py b/server/main.py
index 5480fff..f44d859 100644
--- a/server/main.py
+++ b/server/main.py
@@ -66,6 +66,7 @@ class Server(plugins.server.BaseServer):
self.runners = plugins.offloader.ExecutorPool()
self.server = None
self.streamlock = asyncio.Lock()
+ self.api_logger = None
# Make a pool of database connections for async queries
pool_size = self.config.database.pool_size
@@ -96,6 +97,12 @@ class Server(plugins.server.BaseServer):
es_trace_logger = logging.getLogger('elasticsearch.trace')
es_trace_logger.setLevel(args.trace)
es_trace_logger.addHandler(logging.StreamHandler())
+ if args.apilog:
+ import logging
+ self.api_logger = logging.getLogger('ponymail.apilog')
+ self.api_logger.setLevel(args.apilog)
+ self.api_logger.addHandler(logging.StreamHandler())
+
async def handle_request(
self, request: aiohttp.web.BaseRequest
@@ -121,6 +128,8 @@ class Server(plugins.server.BaseServer):
# Parse form data if any
try:
indata = await plugins.formdata.parse_formdata(body_type, request)
+ if self.api_logger:
+ self.api_logger.info(indata)
except ValueError as e:
return aiohttp.web.Response(headers=headers, status=400,
text=str(e))
@@ -221,6 +230,10 @@ if __name__ == "__main__":
"--trace",
help="elasticsearch.trace level (e.g. INFO or DEBUG)",
)
+ parser.add_argument(
+ "--apilog",
+ help="api log level (e.g. INFO or DEBUG)",
+ )
cliargs = parser.parse_args()
pubsub_server = Server(cliargs)
pubsub_server.run()