status-im/status-go

View on GitHub
exportlogs/logs.go

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
package exportlogs

import (
    "fmt"
    "io/ioutil"
)

// Log contains actual log content and filename. If content is gzipped Compressed will be set to true.
type Log struct {
    Filename   string
    Content    string
    Compressed bool
}

// ExportResponse contains all available logs
type ExportResponse struct {
    Error string
    Logs  []Log
}

// ExportFromBaseFile reads log file and returns its content with some meta.
// In future can be extended to dump rotated logs.
func ExportFromBaseFile(logFile string) ExportResponse {
    data, err := ioutil.ReadFile(logFile)
    if err != nil {
        return ExportResponse{Error: fmt.Errorf("error reading file %s: %v", logFile, err).Error()}
    }
    return ExportResponse{Logs: []Log{
        {Filename: logFile, Compressed: false, Content: string(data)},
    }}

}