@@ -37,7 +37,7 @@ func (ccw *ConfigChangesWatcher) Watch(ctx ctx2.Context, changes chan<- struct{}
3737 return
3838 }
3939 ccw .logger .Debugf ("adding path to watching %v" , ccw .path )
40- if err := ccw .watcher .Watch (ccw .path ); err != nil {
40+ if err := ccw .watcher .Add (ccw .path ); err != nil {
4141 ccw .logger .WithError (err ).Warn ("cant watch for file changes in folder" )
4242 return
4343 }
@@ -55,9 +55,9 @@ func (ccw *ConfigChangesWatcher) watchForChanges(ctx ctx2.Context, changes chan<
5555 ccw .logger .Debug ("Watching for logging config file changes." )
5656 for {
5757 select {
58- case event := <- ccw .watcher .Event :
59- ccw .handleFileEvent (event , changes )
60- case err := <- ccw .watcher .Error :
58+ case event := <- ccw .watcher .Events :
59+ ccw .handleFileEvent (& event , changes )
60+ case err := <- ccw .watcher .Errors :
6161 ccw .logger .WithError (err ).Debug ("Error occurred while watching for logging config file changes." )
6262 case <- ctx .Done ():
6363 ccw .logger .Debug ("Stopping logging config changes watcher." )
@@ -69,7 +69,7 @@ func (ccw *ConfigChangesWatcher) watchForChanges(ctx ctx2.Context, changes chan<
6969 }
7070}
7171
72- func (ccw * ConfigChangesWatcher ) handleFileEvent (event * fsnotify.FileEvent , signalReload chan <- struct {}) {
72+ func (ccw * ConfigChangesWatcher ) handleFileEvent (event * fsnotify.Event , signalReload chan <- struct {}) {
7373 helog := ccw .logger .WithField ("function" , "handleFileEvent" )
7474
7575 if event == nil {
@@ -81,9 +81,23 @@ func (ccw *ConfigChangesWatcher) handleFileEvent(event *fsnotify.FileEvent, sign
8181 WithField ("file_name" , event .Name )
8282 elog .Debug ("Received File event." )
8383
84- isDelete := event .IsDelete () || event .IsRename ()
85- isCreate := event .IsCreate ()
86- isWrite := isCreate || event .IsModify ()
84+ var eDelete , eCreate , eWrite , eRename bool
85+ if event .Op & fsnotify .Write == fsnotify .Write {
86+ eWrite = true
87+ }
88+ if event .Op & fsnotify .Remove == fsnotify .Remove {
89+ eDelete = true
90+ }
91+ if event .Op & fsnotify .Create == fsnotify .Create {
92+ eCreate = true
93+ }
94+ if event .Op & fsnotify .Rename == fsnotify .Rename {
95+ eRename = true
96+ }
97+
98+ isDelete := eDelete || eRename
99+ isCreate := eCreate
100+ isWrite := isCreate || eWrite
87101 if ! isDelete && ! isWrite {
88102 elog .Debug ("Ignoring File event." )
89103 return
0 commit comments