in jetbrains-core/src/software/aws/toolkits/jetbrains/services/cloudwatch/logs/CloudWatchLogWindow.kt [48:82]
fun showLogStream(
logGroup: String,
logStream: String,
previousEvent: LogStreamEntry? = null,
duration: Duration? = null,
streamLogs: Boolean = false
) {
var result = Result.Succeeded
try {
val id = "$logGroup/$logStream/${previousEvent?.timestamp}/${previousEvent?.message}/$duration"
if (showExistingContent(id)) {
return
}
val title = if (previousEvent != null && duration != null) {
message(
"cloudwatch.logs.filtered_log_stream_title",
logStream,
DateFormatUtil.getDateTimeFormat().format(previousEvent.timestamp - duration.toMillis()),
DateFormatUtil.getDateTimeFormat().format(previousEvent.timestamp + duration.toMillis())
)
} else {
message("cloudwatch.logs.log_stream_title", logStream)
}
val stream = CloudWatchLogStream(project, logGroup, logStream, previousEvent, duration, streamLogs)
runInEdt {
addTab(title, stream.content, activate = true, id = id, additionalDisposable = stream)
}
} catch (e: Exception) {
LOG.error(e) { "Exception thrown while trying to show log group '$logGroup' stream '$logStream'" }
result = Result.Failed
throw e
} finally {
CloudwatchlogsTelemetry.openStream(project, result)
}
}