package diagnostic import ( "context" ) // Represents the path of the log file or log directory. // This struct is meant to give some ergonimics regarding // the logging information. type LogInformation struct { path string // path to a file or directory wasCreated bool // denotes if `path` was created isDirectory bool // denotes if `path` is a directory } func NewLogInformation( path string, wasCreated bool, isDirectory bool, ) *LogInformation { return &LogInformation{ path, wasCreated, isDirectory, } } type LogCollector interface { // This function is responsible for returning a path to a single file // whose contents are the logs of a cloudflared instance. // A new file may be create by a LogCollector, thus, its the caller // responsibility to remove the newly create file. Collect(ctx context.Context) (*LogInformation, error) }