FEATURE | setup sentry.io issues handler #14
Merged
Vitalik
merged 7 commits from feature/sentry-io
into stage
6 months ago
Loading…
Reference in new issue
There is no content yet.
Delete Branch 'feature/sentry-io'
Deleting a branch is permanent. It CANNOT be undone. Continue?
sessionType: payload.sessionType || Sessions.SessionType.App,
})
Sentry.captureEvent({
Основний момент зараз в тому щоб створити окремий модуль для sentry та винести виклики сентрі в сервіс, щоб якщо доведеться змінювати наприклад сервіс то ми це зроби лилише в одному сервісі, ну і якщо треба буде глобально поміняти якісь загальні параметри при виклику.
Не обовязково це робити як нест модуль, це може бути простий клас з функціями, як буде комфортно так і зроби.
І сам модуль ( папку ) не називай sentry, треба якось загально назвати, типу логер
І обовязково має бути try catch окремо на кожен виклик sentry, щоб він ні в якому разі не зламав бізнес логіку
})
Sentry.captureEvent({
message: 'user logged out',
Message я би виніс в якись конфіг чи enum, щоб не дублювати кожен раз це
return tokens
return tokens
} catch (error) {
Sentry.captureException(error)
я думаю коли ми лапаємо помилку було б добре ( якщо це можливо ) прокидувати додатков параметри як при captureEvent, щоб потім було більш зрозуміло що саме і при яких умовах зломалось
return tokens
return tokens
} catch (error) {
Sentry.captureException(error)
я думаю коли ми лапаємо помилку було б добре ( якщо це можливо ) прокидувати додатков параметри як при captureEvent, щоб потім було більш зрозуміло що саме і при яких умовах зломалось
import { Observable, tap } from 'rxjs'
@Injectable()
export class SentryInterceptor implements NestInterceptor {
Я думаю що нам не треба логувати кожен реквест, щоб не було забагто логів, мені здається логування конкретних подій та помилок ( включаючи ExceptionFilter ) буде досттаньо
ports:
- 5001:5432
- 5432:5432
не бачу причин змінювати це
command: redis-server --requirepass ${REDIS_PASS}
ports:
- '5002:6379'
- '6379:6379'
і всі інші порти
const imports = [
APNsModule.forRoot($config.getApnsModuleConfig()),
FirebaseApiModule.forRoot(getEnv('FIREBASE_CONFIG_JFON_PARH', true)),
FirebaseApiModule.forRoot($config.getFireBaseModuleConfig()),
це не стосуеться конкретної задачі, видалити
{ sessionType: payload.sessionType || Sessions.SessionType.App },
)
} catch (error) {
this.logger.logException(
ми тут будемо логувати помилку коли виникла помилка під час логіування події?
я думаю це вже оверхед
{ sessionType: payload.sessionType || Sessions.SessionType.App },
)
} catch (error) {
this.logger.logException(
точно так само тут
f5a9b9bc5d
toa366f34af4
6 months agoa366f34af4
tofb5c27e7a4
6 months agofb5c27e7a4
tod9e2904cf8
6 months ago5446f10680
into stage 6 months agoReviewers
5446f10680
.