@axiomhq/logging
Version:
The official logging package for Axiom
49 lines (48 loc) • 1.59 kB
JavaScript
import { isVercel, getEnv, environment, isNetlify, region } from "./platform.js";
import { isEdgeRuntime } from "./runtime.js";
const injectPlatform = (logEvent) => {
if (isVercel) {
const vercelLogEvent = logEvent;
vercelLogEvent.vercel = {
environment: getEnv("VERCEL_ENV") ?? environment,
region: getEnv("VERCEL_REGION"),
deploymentId: getEnv("VERCEL_DEPLOYMENT_ID"),
deploymentUrl: getEnv("NEXT_PUBLIC_VERCEL_URL"),
project: getEnv("NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL"),
source: logEvent.source
};
vercelLogEvent.git = {
commit: getEnv("NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA"),
repo: getEnv("NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG"),
ref: getEnv("NEXT_PUBLIC_VERCEL_GIT_COMMIT_REF")
};
return vercelLogEvent;
}
if (isNetlify) {
const netlifyLogEvent = logEvent;
netlifyLogEvent.netlify = {
environment,
region: isEdgeRuntime ? getEnv("DENO_REGION") : getEnv("AWS_REGION"),
siteId: getEnv("SITE_ID"),
buildId: getEnv("BUILD_ID"),
context: getEnv("CONTEXT"),
deploymentUrl: getEnv("DEPLOYMENT_URL"),
deploymentId: isEdgeRuntime ? getEnv("DENO_DEPLOYMENT_ID") : getEnv("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