github.com/cilium/cilium@v1.16.2/pkg/proxy/logger/monitoragent_lognotifier.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright Authors of Cilium
     3  
     4  package logger
     5  
     6  import (
     7  	"fmt"
     8  
     9  	monitoragent "github.com/cilium/cilium/pkg/monitor/agent"
    10  	monitorAPI "github.com/cilium/cilium/pkg/monitor/api"
    11  )
    12  
    13  type monitorAgentLogRecordNotifier struct {
    14  	monitorAgent monitoragent.Agent
    15  }
    16  
    17  func NewMonitorAgentLogRecordNotifier(monitorAgent monitoragent.Agent) LogRecordNotifier {
    18  	return &monitorAgentLogRecordNotifier{monitorAgent: monitorAgent}
    19  }
    20  
    21  func (m *monitorAgentLogRecordNotifier) NewProxyLogRecord(l *LogRecord) error {
    22  	if err := m.monitorAgent.SendEvent(monitorAPI.MessageTypeAccessLog, l.LogRecord); err != nil {
    23  		return fmt.Errorf("failed to send log record to monitor agent: %w", err)
    24  	}
    25  	return nil
    26  }