in cloudwatch/cloudwatch.go [547:571]
func (output *OutputPlugin) createStream(e *Event) (*logStream, error) {
output.timer.Check()
_, err := output.client.CreateLogStream(&cloudwatchlogs.CreateLogStreamInput{
LogGroupName: aws.String(e.group),
LogStreamName: aws.String(e.stream),
})
if err != nil {
output.timer.Start()
return nil, err
}
output.timer.Reset()
stream := &logStream{
logStreamName: e.stream,
logGroupName: e.group,
logEvents: make([]*cloudwatchlogs.InputLogEvent, 0, maximumLogEventsPerPut),
nextSequenceToken: nil, // sequence token not required for a new log stream
}
output.streams[e.group+e.stream] = stream
stream.updateExpiration() // initialize
logrus.Infof("[cloudwatch %d] Created log stream %s in group %s", output.PluginInstanceID, e.stream, e.group)
return stream, nil
}