mirror of
https://github.com/sourcebot-dev/sourcebot.git
synced 2025-12-12 04:15:30 +00:00
backend logging (#224)
This commit is contained in:
parent
d281523225
commit
c48c0930a8
4 changed files with 104 additions and 13 deletions
|
|
@ -22,6 +22,8 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@gitbeaker/rest": "^40.5.1",
|
||||
"@logtail/node": "^0.5.2",
|
||||
"@logtail/winston": "^0.5.2",
|
||||
"@octokit/rest": "^21.0.2",
|
||||
"@sentry/cli": "^2.42.2",
|
||||
"@sentry/node": "^9.3.0",
|
||||
|
|
|
|||
|
|
@ -43,3 +43,6 @@ export const REDIS_URL = getEnv(process.env.REDIS_URL, 'redis://localhost:6379')
|
|||
|
||||
export const SENTRY_BACKEND_DSN = getEnv(process.env.SENTRY_BACKEND_DSN);
|
||||
export const SENTRY_ENVIRONMENT = getEnv(process.env.SENTRY_ENVIRONMENT, 'unknown')!;
|
||||
|
||||
export const LOGTAIL_TOKEN = getEnv(process.env.LOGTAIL_TOKEN);
|
||||
export const LOGTAIL_HOST = getEnv(process.env.LOGTAIL_HOST);
|
||||
|
|
@ -1,8 +1,11 @@
|
|||
import winston, { format } from 'winston';
|
||||
import { SOURCEBOT_LOG_LEVEL } from './environment.js';
|
||||
import { SOURCEBOT_LOG_LEVEL, LOGTAIL_TOKEN, LOGTAIL_HOST } from './environment.js';
|
||||
import { Logtail } from '@logtail/node';
|
||||
import { LogtailTransport } from '@logtail/winston';
|
||||
|
||||
const { combine, colorize, timestamp, prettyPrint, errors, printf, label: labelFn } = format;
|
||||
|
||||
|
||||
const createLogger = (label: string) => {
|
||||
return winston.createLogger({
|
||||
level: SOURCEBOT_LOG_LEVEL,
|
||||
|
|
@ -28,6 +31,13 @@ const createLogger = (label: string) => {
|
|||
}),
|
||||
),
|
||||
}),
|
||||
...(LOGTAIL_TOKEN && LOGTAIL_HOST ? [
|
||||
new LogtailTransport(
|
||||
new Logtail(LOGTAIL_TOKEN, {
|
||||
endpoint: LOGTAIL_HOST,
|
||||
})
|
||||
)
|
||||
] : []),
|
||||
]
|
||||
});
|
||||
}
|
||||
|
|
|
|||
98
yarn.lock
98
yarn.lock
|
|
@ -1413,6 +1413,51 @@
|
|||
"@lezer/highlight" "^1.0.0"
|
||||
"@lezer/lr" "^1.4.0"
|
||||
|
||||
"@logtail/core@^0.5.2":
|
||||
version "0.5.2"
|
||||
resolved "https://registry.npmjs.org/@logtail/core/-/core-0.5.2.tgz#a5fb36731848fbb47a3b1176c643a405e40d674d"
|
||||
integrity sha512-mkQqGFwtZ06x2xsj6kOiEZeLSlPeTDArNOEeB9Q1VHxduRHJFInG7soix8+P8xeaoJx+7itvbUySB0XBlnmLSA==
|
||||
dependencies:
|
||||
"@logtail/tools" "^0.5.2"
|
||||
"@logtail/types" "^0.5.2"
|
||||
serialize-error "8.1.0"
|
||||
|
||||
"@logtail/node@^0.5.2":
|
||||
version "0.5.2"
|
||||
resolved "https://registry.npmjs.org/@logtail/node/-/node-0.5.2.tgz#f0d2462b6c43f6d7334858cb8769bf23162fe2e9"
|
||||
integrity sha512-pSleAsbq61WdaMzYkmW+kdCfptIWmjhSvNoyAtFFuaIGNXFS2UEmnHPrvzrPxsFgBswePSGl/m1teHTeBxA+qg==
|
||||
dependencies:
|
||||
"@logtail/core" "^0.5.2"
|
||||
"@logtail/types" "^0.5.2"
|
||||
"@msgpack/msgpack" "^2.5.1"
|
||||
"@types/stack-trace" "^0.0.33"
|
||||
cross-fetch "^4.0.0"
|
||||
minimatch "^9.0.5"
|
||||
serialize-error "8.1.0"
|
||||
stack-trace "0.0.10"
|
||||
|
||||
"@logtail/tools@^0.5.2":
|
||||
version "0.5.2"
|
||||
resolved "https://registry.npmjs.org/@logtail/tools/-/tools-0.5.2.tgz#b24f96f2bc65f86a928f915aa841f1ec15da2ff9"
|
||||
integrity sha512-1Vg0rznoDYXWYDkz8orjKNTjK5f2eUubHN6tfJ2hHKCRRHy7y+TJpIlCQg3BilVcOvMIfiy4RbrcaFTHvDQWTQ==
|
||||
dependencies:
|
||||
"@logtail/types" "^0.5.2"
|
||||
cross-fetch "^4.0.0"
|
||||
|
||||
"@logtail/types@^0.5.2":
|
||||
version "0.5.2"
|
||||
resolved "https://registry.npmjs.org/@logtail/types/-/types-0.5.2.tgz#f5a53963df56a0dbed3e665f39ac1c2a092071d3"
|
||||
integrity sha512-G3C3XjJPW/LJS0+sanzsNLLqXHAJkhdBR8h4zFUylOtUOevtlneenGNZFjEil+h/GOb3tUySvBuP2wl51gvf0A==
|
||||
|
||||
"@logtail/winston@^0.5.2":
|
||||
version "0.5.2"
|
||||
resolved "https://registry.npmjs.org/@logtail/winston/-/winston-0.5.2.tgz#d667fc4303732ecc4baf3b40f0daa486877c7e66"
|
||||
integrity sha512-eKbtw0RB1d0Cxs9qLxQskmcDjlyUolKJJluia0uNXK190SDavIY6VW/193BLSy5S7gn32V6T4kQ9yC0W6g9C9A==
|
||||
dependencies:
|
||||
"@logtail/node" "^0.5.2"
|
||||
"@logtail/types" "^0.5.2"
|
||||
winston-transport "^4.3.0"
|
||||
|
||||
"@mapbox/node-pre-gyp@^1.0.11":
|
||||
version "1.0.11"
|
||||
resolved "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa"
|
||||
|
|
@ -1428,6 +1473,11 @@
|
|||
semver "^7.3.5"
|
||||
tar "^6.1.11"
|
||||
|
||||
"@msgpack/msgpack@^2.5.1":
|
||||
version "2.8.0"
|
||||
resolved "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-2.8.0.tgz#4210deb771ee3912964f14a15ddfb5ff877e70b9"
|
||||
integrity sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==
|
||||
|
||||
"@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3":
|
||||
version "3.0.3"
|
||||
resolved "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz"
|
||||
|
|
@ -3773,6 +3823,11 @@
|
|||
resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.2.0.tgz#9b706af96fa06416828842397a70dfbbf1c14ded"
|
||||
integrity sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==
|
||||
|
||||
"@types/stack-trace@^0.0.33":
|
||||
version "0.0.33"
|
||||
resolved "https://registry.npmjs.org/@types/stack-trace/-/stack-trace-0.0.33.tgz#979a3fde9e721e78603b781e468ef30f0df0f049"
|
||||
integrity sha512-O7in6531Bbvlb2KEsJ0dq0CHZvc3iWSR5ZYMtvGgnHA56VgriAN/AU2LorfmcvAl2xc9N5fbCTRyMRRl8nd74g==
|
||||
|
||||
"@types/tedious@^4.0.14":
|
||||
version "4.0.14"
|
||||
resolved "https://registry.yarnpkg.com/@types/tedious/-/tedious-4.0.14.tgz#868118e7a67808258c05158e9cad89ca58a2aec1"
|
||||
|
|
@ -7360,6 +7415,18 @@ logform@^2.6.0, logform@^2.6.1:
|
|||
safe-stable-stringify "^2.3.1"
|
||||
triple-beam "^1.3.0"
|
||||
|
||||
logform@^2.7.0:
|
||||
version "2.7.0"
|
||||
resolved "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz#cfca97528ef290f2e125a08396805002b2d060d1"
|
||||
integrity sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==
|
||||
dependencies:
|
||||
"@colors/colors" "1.6.0"
|
||||
"@types/triple-beam" "^1.3.2"
|
||||
fecha "^4.2.0"
|
||||
ms "^2.1.1"
|
||||
safe-stable-stringify "^2.3.1"
|
||||
triple-beam "^1.3.0"
|
||||
|
||||
loglevel@^1.9.1:
|
||||
version "1.9.2"
|
||||
resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.9.2.tgz"
|
||||
|
|
@ -7608,7 +7675,7 @@ minimatch@^8.0.2:
|
|||
dependencies:
|
||||
brace-expansion "^2.0.1"
|
||||
|
||||
minimatch@^9.0.1, minimatch@^9.0.4:
|
||||
minimatch@^9.0.1, minimatch@^9.0.4, minimatch@^9.0.5:
|
||||
version "9.0.5"
|
||||
resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz"
|
||||
integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
|
||||
|
|
@ -8755,7 +8822,7 @@ read-pkg@^3.0.0:
|
|||
normalize-package-data "^2.3.2"
|
||||
path-type "^3.0.0"
|
||||
|
||||
readable-stream@^3.4.0, readable-stream@^3.6.0:
|
||||
readable-stream@^3.4.0, readable-stream@^3.6.0, readable-stream@^3.6.2:
|
||||
version "3.6.2"
|
||||
resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz"
|
||||
integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
|
||||
|
|
@ -9068,6 +9135,13 @@ send@0.19.0:
|
|||
range-parser "~1.2.1"
|
||||
statuses "2.0.1"
|
||||
|
||||
serialize-error@8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz#3a069970c712f78634942ddd50fbbc0eaebe2f67"
|
||||
integrity sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==
|
||||
dependencies:
|
||||
type-fest "^0.20.2"
|
||||
|
||||
serve-static@1.16.2:
|
||||
version "1.16.2"
|
||||
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296"
|
||||
|
|
@ -9357,7 +9431,7 @@ split@0.3:
|
|||
dependencies:
|
||||
through "2"
|
||||
|
||||
stack-trace@0.0.x:
|
||||
stack-trace@0.0.10, stack-trace@0.0.x:
|
||||
version "0.0.10"
|
||||
resolved "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz"
|
||||
integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==
|
||||
|
|
@ -9532,14 +9606,7 @@ stringify-entities@^4.0.0:
|
|||
character-entities-html4 "^2.0.0"
|
||||
character-entities-legacy "^3.0.0"
|
||||
|
||||
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
|
||||
version "6.0.1"
|
||||
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
|
||||
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
|
||||
dependencies:
|
||||
ansi-regex "^5.0.1"
|
||||
|
||||
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
||||
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
|
||||
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
|
||||
|
|
@ -10389,6 +10456,15 @@ wide-align@^1.1.2:
|
|||
dependencies:
|
||||
string-width "^1.0.2 || 2 || 3 || 4"
|
||||
|
||||
winston-transport@^4.3.0:
|
||||
version "4.9.0"
|
||||
resolved "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz#3bba345de10297654ea6f33519424560003b3bf9"
|
||||
integrity sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==
|
||||
dependencies:
|
||||
logform "^2.7.0"
|
||||
readable-stream "^3.6.2"
|
||||
triple-beam "^1.3.0"
|
||||
|
||||
winston-transport@^4.7.0:
|
||||
version "4.8.0"
|
||||
resolved "https://registry.npmjs.org/winston-transport/-/winston-transport-4.8.0.tgz"
|
||||
|
|
|
|||
Loading…
Reference in a new issue