Skip to content

Commit

Permalink
log: extract generation method (#7)
Browse files Browse the repository at this point in the history
Signed-off-by: lecaros <lecaros@calyptia.com>
  • Loading branch information
lecaros authored Nov 24, 2023
1 parent 23e7444 commit c8f2230
Showing 1 changed file with 19 additions and 12 deletions.
31 changes: 19 additions & 12 deletions flog.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,10 @@ func Generate(option *Option) error {

if option.Forever {
for {
writtenBytes := 0
start := time.Now()
log := ""
for i := 0; i < option.Rate; i++ {
log = NewLog(option.Format, time.Now(), option.Bytes)
_, _ = writer.Write([]byte(log + "\n"))
created = created.Add(interval)
}
elapsed := time.Since(start)
time.Sleep(time.Second - elapsed)
writtenBytes += len(log) * option.Rate
if (option.Type != "stdout") && (option.SplitBy > 0) && (writtenBytes > option.SplitBy) {
totalWrittenBytes := 0
writtenBytes, _ := generateByRate(option, writer)
totalWrittenBytes += writtenBytes
if (option.Type != "stdout") && (option.SplitBy > 0) && (totalWrittenBytes > option.SplitBy) {
writer.Close()
fmt.Printf("File %s is created\n", logFileName)
splitCount++
Expand Down Expand Up @@ -84,6 +76,21 @@ func Generate(option *Option) error {
return nil
}

func generateByRate(option *Option, writer io.WriteCloser) (int, int) {
start := time.Now()
generatedBytes := 0
generatedRecords := 0
for i := 0; i < option.Rate; i++ {
log := NewLog(option.Format, time.Now(), option.Bytes) + "\n"
_, _ = writer.Write([]byte(log))
generatedBytes += len(log)
generatedRecords++
}
elapsed := time.Since(start)
time.Sleep(time.Second - elapsed)
return generatedBytes, generatedRecords
}

// NewWriter returns a closeable writer corresponding to given log type
func NewWriter(logType string, logFileName string) (io.WriteCloser, error) {
switch logType {
Expand Down

0 comments on commit c8f2230

Please sign in to comment.