Идентификатор пользователя в контексте затёрся значением из чужого пакета
// пакет auth
ctx = context.WithValue(ctx, "user_id", userID)
// пакет analytics, другая команда
ctx = context.WithValue(ctx, "user_id", anonymousID)
Изредка в логах аудита записывается анонимный идентификатор вместо реального пользователя. Как правильно хранить значения в контексте?
- Ключом неэкспортируемого собственного типа пакета
- Ключом-строкой с префиксом имени пакета
- Глобальной переменной вместо контекста
- Ключом типа int с уникальным номером
