| 255 | } |
| 256 | |
| 257 | func createRollingLogger(config RollingConfig) (io.Writer, error) { |
| 258 | rotatingFileInit.once.Do(func() { |
| 259 | if err := os.MkdirAll(config.Dirname, dirPermMode); err != nil { |
| 260 | rotatingFileInit.creationError = err |
| 261 | return |
| 262 | } |
| 263 | |
| 264 | rotatingFileInit.writer = &lumberjack.Logger{ |
| 265 | Filename: filepath.Join(config.Dirname, config.Filename), |
| 266 | MaxBackups: config.maxBackups, |
| 267 | MaxSize: config.maxSize, |
| 268 | MaxAge: config.maxAge, |
| 269 | } |
| 270 | }) |
| 271 | |
| 272 | return rotatingFileInit.writer, rotatingFileInit.creationError |
| 273 | } |