@@ -76,6 +76,8 @@ func NewHook(output interface{}, formatter logrus.Formatter) *LfsHook {
76
76
// SetFormatter sets the format that will be used by hook.
77
77
// If using text formatter, this method will disable color output to make the log file more readable.
78
78
func (hook * LfsHook ) SetFormatter (formatter logrus.Formatter ) {
79
+ hook .lock .Lock ()
80
+ defer hook .lock .Unlock ()
79
81
if formatter == nil {
80
82
formatter = defaultFormatter
81
83
} else {
@@ -91,19 +93,25 @@ func (hook *LfsHook) SetFormatter(formatter logrus.Formatter) {
91
93
92
94
// SetDefaultPath sets default path for levels that don't have any defined output path.
93
95
func (hook * LfsHook ) SetDefaultPath (defaultPath string ) {
96
+ hook .lock .Lock ()
97
+ defer hook .lock .Unlock ()
94
98
hook .defaultPath = defaultPath
95
99
hook .hasDefaultPath = true
96
100
}
97
101
98
102
// SetDefaultWriter sets default writer for levels that don't have any defined writer.
99
103
func (hook * LfsHook ) SetDefaultWriter (defaultWriter io.Writer ) {
104
+ hook .lock .Lock ()
105
+ defer hook .lock .Unlock ()
100
106
hook .defaultWriter = defaultWriter
101
107
hook .hasDefaultWriter = true
102
108
}
103
109
104
110
// Fire writes the log file to defined path or using the defined writer.
105
111
// User who run this function needs write permissions to the file or directory if the file does not yet exist.
106
112
func (hook * LfsHook ) Fire (entry * logrus.Entry ) error {
113
+ hook .lock .Lock ()
114
+ defer hook .lock .Unlock ()
107
115
if hook .writers != nil || hook .hasDefaultWriter {
108
116
return hook .ioWrite (entry )
109
117
} else if hook .paths != nil || hook .hasDefaultPath {
@@ -122,9 +130,6 @@ func (hook *LfsHook) ioWrite(entry *logrus.Entry) error {
122
130
ok bool
123
131
)
124
132
125
- hook .lock .Lock ()
126
- defer hook .lock .Unlock ()
127
-
128
133
if writer , ok = hook .writers [entry .Level ]; ! ok {
129
134
if hook .hasDefaultWriter {
130
135
writer = hook .defaultWriter
@@ -154,9 +159,6 @@ func (hook *LfsHook) fileWrite(entry *logrus.Entry) error {
154
159
ok bool
155
160
)
156
161
157
- hook .lock .Lock ()
158
- defer hook .lock .Unlock ()
159
-
160
162
if path , ok = hook .paths [entry .Level ]; ! ok {
161
163
if hook .hasDefaultPath {
162
164
path = hook .defaultPath
0 commit comments