@@ -3,6 +3,7 @@ package main
3
3
import (
4
4
"bufio"
5
5
"context"
6
+ "encoding/json"
6
7
"errors"
7
8
"flag"
8
9
"fmt"
@@ -46,16 +47,21 @@ func run() error {
46
47
47
48
events := make (chan esl.Event , 1 )
48
49
go func () {
50
+ enc := json .NewEncoder (os .Stdout )
49
51
for ev := range events {
50
- _ = ev
52
+ if err := enc .Encode (ev ); err != nil {
53
+ slog .Error ("failed to encode event" , slog .String ("err" , err .Error ()))
54
+ break
55
+ }
51
56
}
57
+
52
58
done ()
53
59
}()
54
60
55
61
client , err := esl .Connect (cfg .addr , cfg .password ,
56
- esl .WithDumpIn (os .Stdout ),
57
- esl .WithLog (slog .Default ()),
58
62
esl .WithEvents (events ),
63
+ esl .WithLog (slog .Default ()),
64
+ // esl.WithDumpIn(os.Stdout),
59
65
)
60
66
if err != nil {
61
67
return err
@@ -89,11 +95,22 @@ func initEnv(filename string) error {
89
95
90
96
s := bufio .NewScanner (f )
91
97
for s .Scan () {
98
+ // split to key and value
92
99
kv := strings .SplitN (s .Text (), "=" , 2 )
93
100
if len (kv ) != 2 {
94
101
continue
95
102
}
96
- if err := os .Setenv (kv [0 ], kv [1 ]); err != nil {
103
+
104
+ // skip comments
105
+ if strings .HasPrefix (kv [1 ], "#" ) {
106
+ continue
107
+ }
108
+
109
+ // skip end of line comments
110
+ v , _ , _ := strings .Cut (kv [1 ], "#" )
111
+
112
+ // set environment
113
+ if err := os .Setenv (kv [0 ], strings .TrimSpace (v )); err != nil {
97
114
return fmt .Errorf ("failed to set env: %w" , err )
98
115
}
99
116
}
0 commit comments