MCPcopy
hub / github.com/caddyserver/caddy / openWriter

Method openWriter

logging.go:250–261  ·  view source on GitHub ↗

openWriter opens a writer using opener, and returns true if the writer is new, or false if the writer already exists.

(opener WriterOpener)

Source from the content-addressed store, hash-verified

248// openWriter opens a writer using opener, and returns true if
249// the writer is new, or false if the writer already exists.
250func (logging *Logging) openWriter(opener WriterOpener) (io.WriteCloser, bool, error) {
251 key := opener.WriterKey()
252 writer, loaded, err := writers.LoadOrNew(key, func() (Destructor, error) {
253 w, err := opener.OpenWriter()
254 return writerDestructor{w}, err
255 })
256 if err != nil {
257 return nil, false, err
258 }
259 logging.writerKeys = append(logging.writerKeys, key)
260 return writer.(io.WriteCloser), !loaded, nil
261}
262
263// WriterOpener is a module that can open a log writer.
264// It can return a human-readable string representation

Callers 1

provisionCommonMethod · 0.80

Calls 3

LoadOrNewMethod · 0.80
WriterKeyMethod · 0.65
OpenWriterMethod · 0.65

Tested by

no test coverage detected