Details for Functions

This topic provides details for Functions logs.

Resources

  • applications

Log Categories

API value (ID): Console (Display Name) Description
invoke Function Invocation Logs Logs entries each time a function in an application is invoked.

Availability

Functions logging is available in all the regions of the commercial realm.

Comments

To use Functions logging, you must add a print statement to your function.

Examples:

For node js:

console.log('Entering Hello Node.js function');

For java:

System.out.println("Entering Java Hello World Function");

For go:

fmt.Println("Entering Hello Go function")

Contents of a Functions Log

Property Description
specversion Oracle Cloud Infrastructure logging schema version of the log.
type Category of log, following convention com.oraclecloud.{service}.{resource-type}.{log-category}. Currently only:
com.oraclecloud.functions.application.functioninvoke
source Display name of the application the log is associated with.
subject Display name of the function the log is associated with.
id Random UUID, unique to each log entry.
time Time the function output was generated, in RFC 3339 timestamp format.
oracle.logid OCID of the Oracle Cloud Infrastructure Logging log object.
oracle.loggroupid OCID of the Oracle Cloud Infrastructure Logging log group.
oracle.compartmentid OCID of the compartment the function/application is in.
oracle.tenantid OCID of the tenancy the function/application is in.
oracle.ingestedtime Time the log line was ingested by Oracle Cloud Infrastructure logging, in RFC 3339 timestamp format.
data.applicationId OCID of the application the log line is associated with.
data.containerId FaaS service-specific ID of the function's container.
data.functionId OCID of the function the log line is associated with.
data.requestId Oracle RID of the function invocation the log line is associated with.
data.src I/O stream origin of data.message. Either STDOUT or STDERR.
data.message User-generated line of output from the function.

An Example Functions Log

{
  "specversion": "1.0",
  "type": "com.oraclecloud.functions.application.functioninvoke",
  "source": "Application display name",
  "subject": "Function display name",
  "id": "487c8669-f384-4c79-950a-d6df47246093",
  "time": "2020-08-19T15:33:29.000Z",
  "oracle": {
    "logid": "ocid1.log.oc1.iad.<unique_ID>",
    "loggroupid": "ocid1.loggroup.oc1.iad.<unique_ID>",
    "compartmentid": "ocid1.compartment.oc1..<unique_ID>",
    "tenantid": "ocid1.tenancy.oc1..<unique_ID>",
    "ingestedtime": "2020-08-19T15:33:30.832Z"
  },
  "data": {
    "applicationId": "ocid1.fnapp.oc1.iad.<unique_ID>",
    "containerId": "01EG3NMHG6000000000000022S",
    "functionId": "ocid1.fnfunc.oc1.iad.<unique_ID>",
    "requestId": "/01EG3NN3C11BT19PGZJ00000VZ/01EG3NN3C11BT19PGZJ00000W0",
    "src": "STDERR",
    "message": "2020-08-19 15:33:29,124 - fdk.event_handler - INFO - request execution completed"
  }
}

Functions Log Object Name

Objects that store Functions log data use the following naming format:

log/<function-OCID>/<YYYY-MM-DDTHH_MMZ>[_<seqNum>].log.gz

For example:

log/ocid1.function.oc1.phx.<unique_ID>/2019-03-21T00_00Z.log.gz
log/ocid1.function.oc1.phx.<unique_ID>/2019-03-21T00_00Z_2.log.gz

Using the Command Line Interface (CLI)

See Functions Example for an example command to enable Functions logging.