github.com/etecs-ru/go-sys-wineventlog@v0.0.0-20210227233244-4c3abb794018/windows/svc/eventlog/log_test.go (about) 1 // Copyright 2012 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // +build windows 6 7 package eventlog_test 8 9 import ( 10 "testing" 11 12 "github.com/etecs-ru/go-sys-wineventlog/windows/svc/eventlog" 13 ) 14 15 func TestLog(t *testing.T) { 16 if testing.Short() { 17 t.Skip("skipping test in short mode - it modifies system logs") 18 } 19 20 const name = "mylog" 21 const supports = eventlog.Error | eventlog.Warning | eventlog.Info | 22 eventlog.Success | eventlog.AuditSuccess | eventlog.AuditFailure 23 alreadyExists, err := eventlog.InstallAsEventCreate(eventlog.Application, name, supports) 24 if err != nil { 25 t.Fatalf("Install failed: %s", err) 26 } 27 t.Log("Already exists:", alreadyExists) 28 defer func() { 29 err = eventlog.RemoveSource(eventlog.Application, name) 30 if err != nil { 31 t.Fatalf("Remove failed: %s", err) 32 } 33 }() 34 35 l, err := eventlog.Open(name) 36 if err != nil { 37 t.Fatalf("Open failed: %s", err) 38 } 39 defer l.Close() 40 41 err = l.Success(1, "success") 42 if err != nil { 43 t.Fatalf("Successo failed: %s", err) 44 } 45 err = l.Info(2, "info") 46 if err != nil { 47 t.Fatalf("Info failed: %s", err) 48 } 49 err = l.Warning(3, "warning") 50 if err != nil { 51 t.Fatalf("Warning failed: %s", err) 52 } 53 err = l.Error(4, "error") 54 if err != nil { 55 t.Fatalf("Error failed: %s", err) 56 } 57 err = l.AuditSuccess(5, "audit success") 58 if err != nil { 59 t.Fatalf("AuditSuccess failed: %s", err) 60 } 61 err = l.AuditFailure(6, "audit failure") 62 if err != nil { 63 t.Fatalf("AuditFailure failed: %s", err) 64 } 65 }