github.heygears.com/openimsdk/tools@v0.0.49/log/file-rotatelogs/example_test.go (about)

     1  package rotatelogs_test
     2  
     3  import (
     4  	"fmt"
     5  	"io/ioutil"
     6  	"os"
     7  
     8  	rotatelogs "github.com/lestrrat-go/file-rotatelogs"
     9  )
    10  
    11  func ExampleForceNewFile() {
    12  	logDir, err := ioutil.TempDir("", "rotatelogs_test")
    13  	if err != nil {
    14  		fmt.Println("could not create log directory ", err)
    15  
    16  		return
    17  	}
    18  	logPath := fmt.Sprintf("%s/test.log", logDir)
    19  
    20  	for i := 0; i < 2; i++ {
    21  		writer, err := rotatelogs.New(logPath,
    22  			rotatelogs.ForceNewFile(),
    23  		)
    24  		if err != nil {
    25  			fmt.Println("Could not open log file ", err)
    26  
    27  			return
    28  		}
    29  
    30  		n, err := writer.Write([]byte("test"))
    31  		if err != nil || n != 4 {
    32  			fmt.Println("Write failed ", err, " number written ", n)
    33  
    34  			return
    35  		}
    36  		err = writer.Close()
    37  		if err != nil {
    38  			fmt.Println("Close failed ", err)
    39  
    40  			return
    41  		}
    42  	}
    43  
    44  	files, err := ioutil.ReadDir(logDir)
    45  	if err != nil {
    46  		fmt.Println("ReadDir failed ", err)
    47  
    48  		return
    49  	}
    50  	for _, file := range files {
    51  		fmt.Println(file.Name(), file.Size())
    52  	}
    53  
    54  	err = os.RemoveAll(logDir)
    55  	if err != nil {
    56  		fmt.Println("RemoveAll failed ", err)
    57  
    58  		return
    59  	}
    60  	// OUTPUT:
    61  	// test.log 4
    62  	// test.log.1 4
    63  }