added poseidon with aws to k8s changes

This commit is contained in:
Elmar Kresse
2024-08-12 10:02:36 +02:00
parent 5376f7a027
commit 254460d64c
60 changed files with 6912 additions and 0 deletions

View File

@ -0,0 +1,41 @@
package logging
import (
"github.com/openHPI/poseidon/pkg/dto"
"github.com/sirupsen/logrus"
)
// ContextHook logs the values referenced by the of dto.LoggedContextKeys.
// By default Logrus does not log the values stored in the passed context.
type ContextHook struct{}
// Fire is triggered on new log entries.
func (hook *ContextHook) Fire(entry *logrus.Entry) error {
if entry.Context != nil {
injectContextValuesIntoData(entry)
}
return nil
}
func injectContextValuesIntoData(entry *logrus.Entry) {
for _, key := range dto.LoggedContextKeys {
value := entry.Context.Value(key)
_, valueExisting := entry.Data[string(key)]
if !valueExisting && value != nil {
entry.Data[string(key)] = value
}
}
}
// Levels returns all levels this hook should be registered to.
func (hook *ContextHook) Levels() []logrus.Level {
return []logrus.Level{
logrus.PanicLevel,
logrus.FatalLevel,
logrus.ErrorLevel,
logrus.WarnLevel,
logrus.InfoLevel,
logrus.DebugLevel,
logrus.TraceLevel,
}
}