// StreamAppLog is the same as GetAppLog but returns log lines via an SSE stream func (c *Client) StreamAppLog(appID string, opts *logagg.LogOpts, output chan<- *ct.SSELogChunk) (stream.Stream, error) { path := fmt.Sprintf("/apps/%s/log", appID) if opts != nil { if encodedQuery := opts.EncodedQuery(); encodedQuery != "" { path = fmt.Sprintf("%s?%s", path, encodedQuery) } } return c.Stream("GET", path, nil, output) }
// GetAppLog returns a ReadCloser log stream of the app with ID appID. If lines // is zero or above, the number of lines returned will be capped at that value. // Otherwise, all available logs are returned. If follow is true, new log lines // are streamed after the buffered log. func (c *Client) GetAppLog(appID string, opts *logagg.LogOpts) (io.ReadCloser, error) { path := fmt.Sprintf("/apps/%s/log", appID) if opts != nil { if encodedQuery := opts.EncodedQuery(); encodedQuery != "" { path = fmt.Sprintf("%s?%s", path, encodedQuery) } } res, err := c.RawReq("GET", path, nil, nil, nil) if err != nil { return nil, err } return res.Body, nil }