Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
* @param since
* - UNIX timestamp (integer) to filter logs. Specifying a timestamp will only output log-entries since that timestamp. Default:
* 0 (unfiltered)
* @param until
* - Only return logs before this time, as a UNIX timestamp. Default: 0
*/
public interface LogContainerCmd extends AsyncDockerCmd<LogContainerCmd, Frame> {

Expand All @@ -49,6 +51,9 @@ public interface LogContainerCmd extends AsyncDockerCmd<LogContainerCmd, Frame>
@CheckForNull
Integer getSince();

@CheckForNull
Integer getUntil();

LogContainerCmd withContainerId(@Nonnull String containerId);

/**
Expand All @@ -69,6 +74,8 @@ public interface LogContainerCmd extends AsyncDockerCmd<LogContainerCmd, Frame>

LogContainerCmd withSince(Integer since);

LogContainerCmd withUntil(Integer until);

/**
* @throws com.github.dockerjava.api.NotFoundException
* No such container
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,16 @@
* @param since
* - UNIX timestamp (integer) to filter logs. Specifying a timestamp will only output log-entries since that timestamp. Default:
* 0 (unfiltered)
* @param until
* - Only return logs before this time, as a UNIX timestamp. Default: 0
*/
public class LogContainerCmdImpl extends AbstrAsyncDockerCmd<LogContainerCmd, Frame> implements LogContainerCmd {

private String containerId;

private Boolean followStream, timestamps, stdout, stderr;

private Integer tail, since;
private Integer tail, since, until;

public LogContainerCmdImpl(LogContainerCmd.Exec exec, String containerId) {
super(exec);
Expand Down Expand Up @@ -73,6 +75,11 @@ public Integer getSince() {
return since;
}

@Override
public Integer getUntil() {
return until;
}

@Override
public LogContainerCmd withContainerId(String containerId) {
checkNotNull(containerId, "containerId was not specified");
Expand Down Expand Up @@ -122,6 +129,12 @@ public LogContainerCmd withSince(Integer since) {
return this;
}

@Override
public LogContainerCmd withUntil(Integer until) {
this.until = until;
return this;
}

@Override
public String toString() {
return ReflectionToStringBuilder.toString(this, ToStringStyle.SHORT_PREFIX_STYLE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ protected Void execute0(LogContainerCmd command, ResultCallback<Frame> resultCal
webTarget = webTarget.queryParam("since", command.getSince());
}

if (command.getUntil() != null) {
webTarget = webTarget.queryParam("until", command.getUntil());
}

webTarget = booleanQueryParam(webTarget, "timestamps", command.hasTimestampsEnabled());
webTarget = booleanQueryParam(webTarget, "stdout", command.hasStdoutEnabled());
webTarget = booleanQueryParam(webTarget, "stderr", command.hasStderrEnabled());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,7 @@ public void asyncLogContainerWithSince() throws Exception {
.withStdErr(true)
.withStdOut(true)
.withSince(timestamp)
.withUntil(timestamp + 1000)
.exec(loggingCallback);

loggingCallback.awaitCompletion();
Expand Down