@@ -164,6 +164,7 @@ const (
164164
165165type customLogger struct {
166166 logr.Logger
167+ root string
167168 errorFile string
168169}
169170
@@ -211,16 +212,16 @@ func (l *customLogger) exportError(content string) {
211212
212213// writeContent writes the error content to the error file.
213214func (l * customLogger ) writeContent (content []byte ) {
214- if _ , err := os .Stat (* flRoot ); os .IsNotExist (err ) {
215+ if _ , err := os .Stat (l . root ); os .IsNotExist (err ) {
215216 fileMode := os .FileMode (0755 )
216- if err := os .Mkdir (* flRoot , fileMode ); err != nil {
217- l .Logger .Error (err , "can't create the root directory" , "root" , * flRoot )
217+ if err := os .Mkdir (l . root , fileMode ); err != nil {
218+ l .Logger .Error (err , "can't create the root directory" , "root" , l . root )
218219 return
219220 }
220221 }
221- tmpFile , err := ioutil .TempFile (* flRoot , "tmp-err-" )
222+ tmpFile , err := ioutil .TempFile (l . root , "tmp-err-" )
222223 if err != nil {
223- l .Logger .Error (err , "can't create temporary error-file" , "directory" , * flRoot , "prefix" , "tmp-err-" )
224+ l .Logger .Error (err , "can't create temporary error-file" , "directory" , l . root , "prefix" , "tmp-err-" )
224225 return
225226 }
226227 defer func () {
@@ -234,8 +235,9 @@ func (l *customLogger) writeContent(content []byte) {
234235 return
235236 }
236237
237- if err := os .Rename (tmpFile .Name (), l .errorFile ); err != nil {
238- l .Logger .Error (err , "can't rename to error-file" , "temp-file" , tmpFile .Name (), "error-file" , l .errorFile )
238+ errorFile := filepath .Join (l .root , l .errorFile )
239+ if err := os .Rename (tmpFile .Name (), errorFile ); err != nil {
240+ l .Logger .Error (err , "can't rename to error-file" , "temp-file" , tmpFile .Name (), "error-file" , errorFile )
239241 return
240242 }
241243}
@@ -245,11 +247,12 @@ func (l *customLogger) deleteErrorFile() {
245247 if l .errorFile == "" {
246248 return
247249 }
248- if err := os .Remove (l .errorFile ); err != nil {
250+ errorFile := filepath .Join (l .root , l .errorFile )
251+ if err := os .Remove (errorFile ); err != nil {
249252 if os .IsNotExist (err ) {
250253 return
251254 }
252- l .Logger .Error (err , "can't delete the error-file" , "filename" , l . errorFile )
255+ l .Logger .Error (err , "can't delete the error-file" , "filename" , errorFile )
253256 }
254257}
255258
@@ -338,11 +341,7 @@ func main() {
338341 setFlagDefaults ()
339342 flag .Parse ()
340343
341- var errorFile string
342- if * flErrorFile != "" {
343- errorFile = filepath .Join (* flRoot , * flErrorFile )
344- }
345- log = & customLogger {glogr .New (), errorFile }
344+ log = & customLogger {glogr .New (), * flRoot , * flErrorFile }
346345
347346 if * flVer {
348347 fmt .Println (version .VERSION )
0 commit comments