...

Source file src/github.com/rs/zerolog/internal/cbor/examples/genLog.go

Documentation: github.com/rs/zerolog/internal/cbor/examples

     1  package main
     2  
     3  import (
     4  	"compress/zlib"
     5  	"flag"
     6  	"io"
     7  	"log"
     8  	"os"
     9  	"time"
    10  
    11  	"github.com/rs/zerolog"
    12  )
    13  
    14  func writeLog(fname string, count int, useCompress bool) {
    15  	opFile := os.Stdout
    16  	if fname != "<stdout>" {
    17  		fil, _ := os.Create(fname)
    18  		opFile = fil
    19  		defer func() {
    20  			if err := fil.Close(); err != nil {
    21  				log.Fatal(err)
    22  			}
    23  		}()
    24  	}
    25  
    26  	var f io.WriteCloser = opFile
    27  	if useCompress {
    28  		f = zlib.NewWriter(f)
    29  		defer func() {
    30  			if err := f.Close(); err != nil {
    31  				log.Fatal(err)
    32  			}
    33  		}()
    34  
    35  	}
    36  
    37  	zerolog.TimestampFunc = func() time.Time { return time.Now().Round(time.Second) }
    38  	log := zerolog.New(f).With().
    39  		Timestamp().
    40  		Logger()
    41  	for i := 0; i < count; i++ {
    42  		log.Error().
    43  			Int("Fault", 41650+i).Msg("Some Message")
    44  	}
    45  }
    46  
    47  func main() {
    48  	outFile := flag.String("out", "<stdout>", "Output File to which logs will be written to (WILL overwrite if already present).")
    49  	numLogs := flag.Int("num", 10, "Number of log messages to generate.")
    50  	doCompress := flag.Bool("compress", false, "Enable inline compressed writer")
    51  
    52  	flag.Parse()
    53  
    54  	writeLog(*outFile, *numLogs, *doCompress)
    55  }
    56  

View as plain text