in integration/common/onetime/logusage/logusage.go [100:124]
func (l *LogUsage) logUsageHandler(cmd *cobra.Command, cloudProps *cpb.CloudProperties) error {
if l.lp.CloudLoggingClient != nil {
defer l.lp.CloudLoggingClient.Close()
}
log.SetupLoggingForOTE(l.name, "logusage", l.lp)
switch {
case l.status == "":
log.Print("A usage status value is required.")
return fmt.Errorf("a usage status value is required")
case l.status == string(usagemetrics.StatusUpdated) && l.agentVersion == "":
log.Print("For status UPDATED, Agent Version is required.")
return fmt.Errorf("for status UPDATED, Agent Version is required")
case l.status == string(usagemetrics.StatusError) && l.usageError <= 0:
log.Print("For status ERROR, an error code is required.")
return fmt.Errorf("for status ERROR, an error code is required")
case l.status == string(usagemetrics.StatusAction) && l.action <= 0:
log.Print("For status ACTION, an action code is required.")
return fmt.Errorf("for status ACTION, an action code is required")
}
if err := l.logUsageStatus(cloudProps); err != nil {
log.Logger.Warnw("Could not log usage", "error", err)
}
return nil
}