Frontend Logging

Utility API for frontend logging

The ObjectsGrid Frontend Logging API allows websites, SPAs, and mobile applications to stream structured client-side logs and telemetry to a secure, multi-tenant backend, without operating their own logging stack. Capture JavaScript errors, failed API calls, performance signals, device context, user journeys, and security anomalies, and make them immediately searchable and analytics-ready. ObjectsGrid provides schema validation, tenant isolation, durability, and indexing out of the box, enabling observability, incident response, release validation, and product intelligence from real user activity through a single REST integration.

Currently, Frontend Logging supports REST API operations only.

For ingestion, the API introduces a specialized object: LogRecord. A LogRecord contains client-environment attributes that remain constant across multiple log events (e.g., device, session, app version). The client instantiates a LogRecord once, stores it in memory, and appends individual LogEntries to its entries collection. Each LogEntry represents a discrete event such as an error, performance metric, or user action.

A LogRecord may contain up to 100 LogEntries. Clients must submit the LogRecord when it reaches capacity or when crossing logical application boundaries (e.g., session end, Single Page Application transition).

Upon ingestion, ObjectsGrid denormalizes each LogEntry together with its parent LogRecord into a LogEvent. Each LogEvent contains the full client context plus the specific log entry attributes, ensuring every record is independently searchable and analytics-optimized.

LogEvents can be searched using the List operation with ElasticSearch Query DSLarrow-up-right for advanced filtering, aggregation, and investigation workflows.

LogRecord Object

Name
Type
Description

schemaVersion

String

The Object ID

app

AppInfo Object

environment

String

The environment

platform

String

The platform

baseUrl

String

The base URL

sentAt

String

Time format ISO 8601/RFC 3339 Format

session

SessionInfo Object

auth

AuthInfo Object

client

ClientInfo Object

device

Deviceinfo Object

network

NetworkInfo Object

geo

Geo Object

web

WebInfo Object

mobile

MobileInfo Object

entries

Array of LogEntry

Array of LogEntry Objects

extensions

Map[String]Map[String]Any

JSON

LogEntry Object

Name
Type
Description

timestamp

String

Time format ISO 8601/RFC 3339 Format

severity

String

The severity: debug, info, warn, error,

message

String

The log message

eventType

String

The event type

title

String

The log entry title

error

The error object

stackTrace

String

The stack trace string sanitized for XSS and SQL Injection attempts.

ui

UIInfo Object

http

HTTPInfo Object

context

Map[String]Any

Map as JSON object of key string and value any type

performance

Map[String]Any

Map as JSON object of key string and value any type

infoObject

String

Informational object as string

extensions

Map[String]Map[String]Any

JSON

LogEvent Object

Name
Type
Description

id

String

Log Event ID (guid)

schemaVersion

String

The Object ID

app

AppInfo Object

environment

String

The environment

platform

String

The platform

baseUrl

String

The base URL

sentAt

String

Time format ISO 8601/RFC 3339 Format

session

SessionInfo Object

auth

AuthInfo Object

client

ClientInfo Object

device

DeviceInfo Object

network

NetworkInfo Object

geo

Geo Object

web

WebInfo Object

mobile

MobileInfo Object

extensions

Map[String]Map[String]Any

JSON

timestamp

String

Timestamp when this measurement was taken

severity

String

Severity: debug, info, warn, error,

message

String

The log message

eventType

String

The event type

title

String

The log entry title

error

The error

stackTrace

String

The stack trace

ui

UIInfo Object

http

HTTPInfo Object

context

Map[String]Any

JSON

performance

Map[String]Any

JSON

infoObject

String

Informational object as string

entryExtensions

Map[String]Map[String]Any

JSON

tags

Array of Tag

Object Tags

meta

Meta Object


AppInfo Object

Name
Type
Description

name

String

The Application Name

version

String

The Application Version

build

String

The build number

releaseId

String

The release id

SessionInfo Object

Name
Type
Description

sessionId

String

The Session ID

installId

String

The Install ID

correlationId

String

The Correlation ID

requestId

String

The Request ID

traceId

String

The Trace ID

SpanId

String

The Span ID

AuthInfo Object

Name
Type
Description

method

String

Authentication method: oidc, api_key, none, attestation

state

String

Authentication State: authenticated, anonymous, expired, unknown

userId

String

The User ID

ClientInfo Object

Name
Type
Description

locale

String

The locale

timezone

String

The timezone

userAgent

String

The User Agent

sdk

SDKInfo Object

The SDKInfo Object

SDKInfo Object

Name
Type
Description

name

String

The client SDK used

version

String

The SDK version

DeviceInfo Object

Name
Type
Description

type

String

The Device Type: phone, tablet, desktop, unknown

manufacturer

String

The device manufacturer

model

String

The device model

osName

String

Operating System Name

osVersion

String

Operating System Version

NetworkInfo Object

Name
Type
Description

type

String

The Network Type: wifi, cellular, ethernet, unknown

effectiveType

String

The effective type: slow-2g, 2g, 3g, 4g

carrier

String

The carrier

roaming

Boolean

Is roaming

metered

Boolean

Is it metered

Geo Object

Name
Type
Description

latitude

Float

The Latitude

longitude

Float

The Longitude

accuracyMeters

Float

The Accuracy Meters

source

String

Source

capturedAt

String

Time captured at in ISO 8601

WebInfo Object

Name
Type
Description

browsername

String

The Web Browser Name

browserVersion

String

The Web Browser version

pageUrl

String

The webpage URL

referrer

String

The referrer URL

viewport

Viewport Object

userAgent

String

Browser User Agent

HTTPInfo Object

Name
Type
Description

method

String

The HTTP method: Get, Put, Post, Delete,Patch

status

Integer

The HTTP status

urlTemplate

String

The URL Template

durationMs

Integer

The duration in milliseconds

retryCount

Integer

The retry count

ViewportInfo Object

Name
Type
Description

width

String

The viewport width

height

String

The viewport height

UIInfo Object

Name
Type
Description

screenName

String

The screen name

component

String

The component

route

String

The route

displayInfo

DisplayInfo Object

DisplayInfo Object

Name
Type
Description

width

Int

The display width

height

Int

The display height

pixelRatio

Float

The pixel ratio

orientation

String

The display orientation

MobileInfo Object

Name
Type
Description

appState

String

foreground, background, inactive, unknown

screenName

String

The screen name

permissions

Map[String]String

granted, denied, not_determined

ErrorObject

Name
Type
Description

type

String

The error type

code

String

The error code

message

String

The error message

unhandled

Boolean

Was unhandled

fatal

Boolean

Was fatal

stack

String

Stack Trace

cause

What other error caused it if any

Last updated

Was this helpful?