(config FileConfig)
| 235 | } |
| 236 | |
| 237 | func createDirFile(config FileConfig) (io.Writer, error) { |
| 238 | if config.Dirname != "" { |
| 239 | err := os.MkdirAll(config.Dirname, dirPermMode) |
| 240 | |
| 241 | if err != nil { |
| 242 | return nil, fmt.Errorf("unable to create directories for new logfile: %s", err) |
| 243 | } |
| 244 | } |
| 245 | |
| 246 | mode := os.FileMode(filePermMode) |
| 247 | |
| 248 | fullPath := filepath.Join(config.Dirname, config.Filename) |
| 249 | logFile, err := os.OpenFile(fullPath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, mode) |
| 250 | if err != nil { |
| 251 | return nil, fmt.Errorf("unable to create a new logfile: %s", err) |
| 252 | } |
| 253 | |
| 254 | return logFile, nil |
| 255 | } |
| 256 | |
| 257 | func createRollingLogger(config RollingConfig) (io.Writer, error) { |
| 258 | rotatingFileInit.once.Do(func() { |
no test coverage detected