You can write a custom log provider and configure the OpenFaaS Gateway to use it.
A log provider is an HTTP server that provides a
/system/logs endpoint that supports a
GET request with the following query parameters
name: the function name and is required
instance: the optional container name, that allows you to request logs from a specific function instance
since: the optional datetime value to start the logs from
tail: sets the maximum number of log messages to return, <=0 means unlimited
follow: allows the user to request a stream of logs until the timeout
true, the server must use HTTP chunked-encoding to send a live stream of the logs.
Configure the log provider¶
gateway will proxy log requests to the function provider, by default. To use an alternative log provider, simply set the
logs_provider_url environment variable in your
gateway server. The
gateway will then proxy the logs requests to this URL.
faas-netes is the Kubernetes provider and queries logs from the Kubernetes API
faasd queries the logs from the journal, stored by functions and core services
Create a new log provider¶
github.com/openfaas/faas-provider/logs package provides a Go interface and utilities to simplify the creation of a new log provider. Once you have implemented the
Requester interface the other package utilities can be used to create the required http server. A very simple "static" logs example can be found in the