Support %r - request id - output file pattern #381

This commit is contained in:
Sergey Mostovoy
2016-12-27 12:18:49 +02:00
parent 3043189d55
commit 5909dd71c5
3 changed files with 56 additions and 17 deletions
+27
View File
@@ -106,6 +106,33 @@ func TestFileOutputMultipleFiles(t *testing.T) {
os.Remove(name3)
}
func TestFileOutputFilePerRequest(t *testing.T) {
output := NewFileOutput("/tmp/log-%Y-%m-%d-%S-%r", &FileOutputConfig{append: true, flushInterval: time.Minute})
if output.file != nil {
t.Error("Should not initialize file if no writes")
}
output.Write([]byte("1 1 1\ntest"))
name1 := output.file.Name()
output.Write([]byte("1 2 1\ntest"))
name2 := output.file.Name()
time.Sleep(time.Second)
output.updateName()
output.Write([]byte("1 3 1\ntest"))
name3 := output.file.Name()
if name3 == name2 || name2 == name1 || name3 == name1 {
t.Error("File name should change:", name1, name2, name3)
}
os.Remove(name1)
os.Remove(name3)
}
func TestFileOutputCompression(t *testing.T) {
output := NewFileOutput("/tmp/log-%Y-%m-%d-%S.gz", &FileOutputConfig{append: true, flushInterval: time.Minute})