|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
|
Esta é uma documentação não divulgada para Admission Controller 1.34-dev. |
Registro
O Go SDK se integra ao projeto
onelog, quase pronto para uso.
O projeto escolheu esta biblioteca como:
-
Funciona com binários WebAssembly. Outras soluções de logging populares não conseguem compilar para o WebAssembly.
-
Ele fornece bom desempenho.
-
Suporta logging estruturado.
Inicializar logger
Você precisa inicializar uma estrutura de logger.
Ao realizar esta inicialização em uma variável global, você pode registrar a partir dos dois principais pontos de entrada da política: validate e validate_settings.
No pacote principal, main.go há inicialização para o logger:
var (
logWriter = kubewarden.KubewardenLogWriter{}
logger = onelog.New(
&logWriter,
onelog.ALL, // shortcut for onelog.DEBUG|onelog.INFO|onelog.WARN|onelog.ERROR|onelog.FATAL
)
)
Consumindo o logger
Agora, você pode usar o objeto logger para registrar de onde for necessário em sua política:
func validate(payload []byte) ([]byte, error) {
// ...
logger.Info("validating request")
// ...
}
Você pode adicionar logging estruturado:
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")
})
// ...
}
Você pode consultar
onelog documentação
para mais informações.
O logging da política vai para o avaliador de políticas
(por exemplo, kwctl ou policy-server),
e eles registram em nome da política.
Eles usam mecanismos que são interoperáveis com outros componentes que permitem rastreamento distribuído, como
Jaeger.