|
Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado. |
|
Esta es documentación inédita para Admission Controller 1.34-dev. |
Registro
El SDK de Go se integra con el
onelog
proyecto, casi listo para usar.
El proyecto ha elegido esta biblioteca como:
-
Funciona con binarios de WebAssembly. Otras soluciones de registro populares no pueden compilar para WebAssembly.
-
Proporciona buen rendimiento.
-
Admite el registro estructurado.
Inicializa el registrador
Necesitas inicializar una estructura de registrador.
Al realizar esta inicialización en una variable global,
puedes registrar desde los dos principales puntos de entrada de la política: validate y
validate_settings.
En el paquete principal, main.go hay inicialización para el registrador:
var (
logWriter = kubewarden.KubewardenLogWriter{}
logger = onelog.New(
&logWriter,
onelog.ALL, // shortcut for onelog.DEBUG|onelog.INFO|onelog.WARN|onelog.ERROR|onelog.FATAL
)
)
Consumiendo el registrador
Ahora, puedes usar el objeto logger para registrar desde donde sea necesario en tu política:
func validate(payload []byte) ([]byte, error) {
// ...
logger.Info("validating request")
// ...
}
Puedes añadir registro estructurado:
func validate(payload []byte) ([]byte, error) {
// ...
logger.WarnWithFields("logging something important", func(e onelog.Entry) {
e.String("one_field", "a value")
e.String("another_field", "another value")
})
// ...
}
Puedes consultar la
onelog documentación
para más información.
El registro de políticas va al evaluador de políticas
(por ejemplo, kwctl o policy-server),
y ellos registran en nombre de la política.
Utilizan mecanismos que son interoperables con otros componentes que permiten el trazado distribuido, como Jaeger.