/// import { Logger } from 'fastly:logger'; addEventListener('fetch', (event) => event.respondWith(handleRequest(event))); async function handleRequest(event) { const logger = new Logger('my_new_relic_endpoint'); let logOutput = { timestamp: new Date(Date.now()), cache_status: 'ERROR', client_ip: '127.0.0.1', client_device_type: 'Chromebook', client_os_name: 'Ubuntu', client_os_version: '17.10 (Artful Aardvark)', client_browser_name: 'Firefox', client_browser_version: '113.0', client_as_name: 'zayo bandwidth', client_as_number: '1234', client_connection_speed: 'broadband', client_port: 63850, client_rate_bps: 0, client_recv_bytes: 74, client_requests_count: 1, client_resp_body_size_write: 56789, client_resp_header_size_write: 1234, client_resp_ttfb: 1.342, client_rtt_us: 6818, content_type: 'text/html; charset=utf-8', domain: 'example.com', fastly_datacenter: 'HNL', fastly_host: 'cache-hnl00001', fastly_is_edge: true, fastly_region: 'US-Pacific', fastly_server: 'cache-hnl00001-HNL', host: 'example.com', origin_host: 'example.com', origin_name: 'n/a', request: 'GET', request_method: 'GET', request_accept_charset: 'utf-8', request_accept_language: 'en-US', request_referer: '', request_user_agent: 'curl/7.68.0', resp_status: '200', response: 'OK. Testing Log Endpoint', service_id: 'U7w1m3BSxe6ldZwPrZtGB3', // service_version: '29', status: '503', time_start: '2023-05-18T23:21:52Z', time_end: '2023-05-18T23:21:53Z', time_elapsed: 237, tls_cipher: 'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256', tls_version: 'TLS 1.2', url: '/', user_agent: 'curl/7.68.0', user_city: 'san francisco', user_country_code: 'US', user_continent_code: 'NA', user_region: 'CA' }; logger.log(logOutput); return new Response(JSON.stringify(logOutput, null, 2), { status: 200 }); } // { // "client_ip": "%{req.http.Fastly-Client-IP}V", // "geo_country": "%{client.geo.country_name}V", // "url": "%{json.escape(req.url)}V", // "request_referer": "%{json.escape(req.http.referer)}V", // "request_user_agent": "%{json.escape(req.http.User-Agent)}V", // "fastly_is_edge": %{if(fastly.ff.visits_this_service == 0, "true", "false")}V, // "response_state": "%{json.escape(fastly_info.state)}V", // "response_status": %{resp.status}V, // "response_reason": %{if(resp.response, "%22"+json.escape(resp.response)+"%22", "null")}V, // "response_body_size": %{resp.body_bytes_written}V, // "request_method": "%{json.escape(req.method)}V", // "request_protocol": "%{json.escape(req.proto)}V", // "fastly_server": "%{json.escape(server.identity)}V", // "host": "%{if(req.http.Fastly-Orig-Host, req.http.Fastly-Orig-Host, req.http.Host)}V" // }