|
@@ -73,7 +73,6 @@ type logStream struct {
|
|
logGroupName string
|
|
logGroupName string
|
|
logCreateGroup bool
|
|
logCreateGroup bool
|
|
logCreateStream bool
|
|
logCreateStream bool
|
|
- logNonBlocking bool
|
|
|
|
forceFlushInterval time.Duration
|
|
forceFlushInterval time.Duration
|
|
multilinePattern *regexp.Regexp
|
|
multilinePattern *regexp.Regexp
|
|
client api
|
|
client api
|
|
@@ -88,7 +87,6 @@ type logStreamConfig struct {
|
|
logGroupName string
|
|
logGroupName string
|
|
logCreateGroup bool
|
|
logCreateGroup bool
|
|
logCreateStream bool
|
|
logCreateStream bool
|
|
- logNonBlocking bool
|
|
|
|
forceFlushInterval time.Duration
|
|
forceFlushInterval time.Duration
|
|
maxBufferedEvents int
|
|
maxBufferedEvents int
|
|
multilinePattern *regexp.Regexp
|
|
multilinePattern *regexp.Regexp
|
|
@@ -150,12 +148,13 @@ func New(info logger.Info) (logger.Logger, error) {
|
|
return nil, err
|
|
return nil, err
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ logNonBlocking := info.Config["mode"] == "non-blocking"
|
|
|
|
+
|
|
containerStream := &logStream{
|
|
containerStream := &logStream{
|
|
logStreamName: containerStreamConfig.logStreamName,
|
|
logStreamName: containerStreamConfig.logStreamName,
|
|
logGroupName: containerStreamConfig.logGroupName,
|
|
logGroupName: containerStreamConfig.logGroupName,
|
|
logCreateGroup: containerStreamConfig.logCreateGroup,
|
|
logCreateGroup: containerStreamConfig.logCreateGroup,
|
|
logCreateStream: containerStreamConfig.logCreateStream,
|
|
logCreateStream: containerStreamConfig.logCreateStream,
|
|
- logNonBlocking: containerStreamConfig.logNonBlocking,
|
|
|
|
forceFlushInterval: containerStreamConfig.forceFlushInterval,
|
|
forceFlushInterval: containerStreamConfig.forceFlushInterval,
|
|
multilinePattern: containerStreamConfig.multilinePattern,
|
|
multilinePattern: containerStreamConfig.multilinePattern,
|
|
client: client,
|
|
client: client,
|
|
@@ -163,7 +162,7 @@ func New(info logger.Info) (logger.Logger, error) {
|
|
}
|
|
}
|
|
|
|
|
|
creationDone := make(chan bool)
|
|
creationDone := make(chan bool)
|
|
- if containerStream.logNonBlocking {
|
|
|
|
|
|
+ if logNonBlocking {
|
|
go func() {
|
|
go func() {
|
|
backoff := 1
|
|
backoff := 1
|
|
maxBackoff := 32
|
|
maxBackoff := 32
|
|
@@ -219,8 +218,6 @@ func newStreamConfig(info logger.Info) (*logStreamConfig, error) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- logNonBlocking := info.Config["mode"] == "non-blocking"
|
|
|
|
-
|
|
|
|
forceFlushInterval := defaultForceFlushInterval
|
|
forceFlushInterval := defaultForceFlushInterval
|
|
if info.Config[forceFlushIntervalKey] != "" {
|
|
if info.Config[forceFlushIntervalKey] != "" {
|
|
forceFlushIntervalAsInt, err := strconv.Atoi(info.Config[forceFlushIntervalKey])
|
|
forceFlushIntervalAsInt, err := strconv.Atoi(info.Config[forceFlushIntervalKey])
|
|
@@ -259,7 +256,6 @@ func newStreamConfig(info logger.Info) (*logStreamConfig, error) {
|
|
logGroupName: logGroupName,
|
|
logGroupName: logGroupName,
|
|
logCreateGroup: logCreateGroup,
|
|
logCreateGroup: logCreateGroup,
|
|
logCreateStream: logCreateStream,
|
|
logCreateStream: logCreateStream,
|
|
- logNonBlocking: logNonBlocking,
|
|
|
|
forceFlushInterval: forceFlushInterval,
|
|
forceFlushInterval: forceFlushInterval,
|
|
maxBufferedEvents: maxBufferedEvents,
|
|
maxBufferedEvents: maxBufferedEvents,
|
|
multilinePattern: multilinePattern,
|
|
multilinePattern: multilinePattern,
|
|
@@ -437,14 +433,6 @@ func (l *logStream) Log(msg *logger.Message) error {
|
|
if l.closed {
|
|
if l.closed {
|
|
return errors.New("awslogs is closed")
|
|
return errors.New("awslogs is closed")
|
|
}
|
|
}
|
|
- if l.logNonBlocking {
|
|
|
|
- select {
|
|
|
|
- case l.messages <- msg:
|
|
|
|
- return nil
|
|
|
|
- default:
|
|
|
|
- return errors.New("awslogs buffer is full")
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
l.messages <- msg
|
|
l.messages <- msg
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|