@axiomhq/logging
Version:
The official logging package for Axiom
49 lines (48 loc) • 1.62 kB
JavaScript
import { isVercel, environment, isNetlify, region } from "./platform.js";
import { isEdgeRuntime } from "./runtime.js";
const injectPlatform = (logEvent) => {
if (isVercel) {
const vercelLogEvent = logEvent;
vercelLogEvent.vercel = {
environment: process.env.VERCEL_ENV ?? environment,
region: process.env.VERCEL_REGION,
deploymentId: process.env.VERCEL_DEPLOYMENT_ID,
deploymentUrl: process.env.NEXT_PUBLIC_VERCEL_URL,
project: process.env.NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL,
source: logEvent.source
};
vercelLogEvent.git = {
commit: process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA,
repo: process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG,
ref: process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_REF
};
return vercelLogEvent;
}
if (isNetlify) {
const netlifyLogEvent = logEvent;
netlifyLogEvent.netlify = {
environment,
region: isEdgeRuntime ? process.env.DENO_REGION : process.env.AWS_REGION,
siteId: process.env.SITE_ID,
buildId: process.env.BUILD_ID,
context: process.env.CONTEXT,
deploymentUrl: process.env.DEPLOYMENT_URL,
deploymentId: isEdgeRuntime ? process.env.DENO_DEPLOYMENT_ID : process.env.NETLIFY_DEPLOYMENT_ID,
source: logEvent.source
};
return netlifyLogEvent;
}
const genericLogEvent = logEvent;
genericLogEvent.platform = {
environment,
region,
source: logEvent.source
};
return genericLogEvent;
};
const defaultFormatters = [injectPlatform];
export {
defaultFormatters,
injectPlatform
};
//# sourceMappingURL=default-formatters.js.map