Make logfile perms configurable

Signed-off-by: Benjamin Yolken <yolken@stripe.com>
This commit is contained in:
Benjamin Yolken 2018-03-07 14:54:51 -08:00
parent bc7424b443
commit d0c1287a8d
No known key found for this signature in database
GPG Key ID: 43F5C40B35255824
2 changed files with 6 additions and 4 deletions

View File

@ -95,7 +95,7 @@ func New(info logger.Info) (logger.Logger, error) {
return b, nil return b, nil
} }
writer, err := loggerutils.NewLogFile(info.LogPath, capval, maxFiles, marshalFunc, decodeFunc) writer, err := loggerutils.NewLogFile(info.LogPath, capval, maxFiles, marshalFunc, decodeFunc, 0640)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -31,13 +31,14 @@ type LogFile struct {
notifyRotate *pubsub.Publisher notifyRotate *pubsub.Publisher
marshal logger.MarshalFunc marshal logger.MarshalFunc
createDecoder makeDecoderFunc createDecoder makeDecoderFunc
perms os.FileMode
} }
type makeDecoderFunc func(rdr io.Reader) func() (*logger.Message, error) type makeDecoderFunc func(rdr io.Reader) func() (*logger.Message, error)
//NewLogFile creates new LogFile //NewLogFile creates new LogFile
func NewLogFile(logPath string, capacity int64, maxFiles int, marshaller logger.MarshalFunc, decodeFunc makeDecoderFunc) (*LogFile, error) { func NewLogFile(logPath string, capacity int64, maxFiles int, marshaller logger.MarshalFunc, decodeFunc makeDecoderFunc, perms os.FileMode) (*LogFile, error) {
log, err := os.OpenFile(logPath, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0640) log, err := os.OpenFile(logPath, os.O_WRONLY|os.O_APPEND|os.O_CREATE, perms)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -55,6 +56,7 @@ func NewLogFile(logPath string, capacity int64, maxFiles int, marshaller logger.
notifyRotate: pubsub.NewPublisher(0, 1), notifyRotate: pubsub.NewPublisher(0, 1),
marshal: marshaller, marshal: marshaller,
createDecoder: decodeFunc, createDecoder: decodeFunc,
perms: perms,
}, nil }, nil
} }
@ -100,7 +102,7 @@ func (w *LogFile) checkCapacityAndRotate() error {
if err := rotate(name, w.maxFiles); err != nil { if err := rotate(name, w.maxFiles); err != nil {
return err return err
} }
file, err := os.OpenFile(name, os.O_WRONLY|os.O_TRUNC|os.O_CREATE, 0640) file, err := os.OpenFile(name, os.O_WRONLY|os.O_TRUNC|os.O_CREATE, w.perms)
if err != nil { if err != nil {
return err return err
} }