Logging Serialization Test Page

Test page to verify Faro errorSerializer properly handles [object Object] issues

How to Use
Click the buttons below to test different logging scenarios. Check your browser console and Grafana logs to verify objects are properly serialized (not showing as "[object Object]").

Expected: Objects should be serialized as JSON strings

Before fix: "dev_test_devserver_websocket_error [object Object]"

After fix: 'dev_test_devserver_websocket_error {"event":{"type":"websocket_error",...}}'

Last test: None

Simple Object
Test with a plain object (original bug scenario)
Nested Object
Test with deeply nested object
Error Object
Test with actual Error instance
Circular Reference
Test with circular reference (should not crash)
Mixed Types
Test with multiple different argument types
Array of Objects
Test with array containing objects
Empty Object
Test with empty object
Undefined/Null
Test with undefined and null values
Large Object
Test with large nested structure
Special Characters
Test with special characters and unicode
Sentry: Simple Error
Test Sentry error capture with o11y.captureException
Sentry: Error with Details
Test Sentry with complex error details
Sentry: Warning Level
Test Sentry warning level
Where to Check Results

1. Browser Console (Immediate)

Open DevTools → Console. Look for the test messages. Objects should be formatted with their full content, not as "[object Object]".

2. Grafana Logs (After ~30s)

Go to go/app-logs and search for test names like "dev_test_devserver_websocket_error" or "dev_test_nested_object". Verify the log messages contain properly formatted JSON.

3. Sentry (Immediate)

For "Sentry:" tests, check Sentry Dashboard. Errors should include trace_id, span_id, and faro_session_id tags.

4. Network Tab (Optional)

Filter for requests to Faro/Sentry endpoints. Check the payload being sent - should contain serialized objects.

Note: This page should be removed after testing is complete. It's only for verifying the Faro errorSerializer fix.