|  | // Package loggingsyncbuffer contains a SyncWriter that writes to a buffer. | 
|  | package loggingsyncbuffer | 
|  |  | 
|  | import ( | 
|  | "bytes" | 
|  |  | 
|  | "github.com/jcgregorio/logger" | 
|  | ) | 
|  |  | 
|  | // SyncWriter implements logger.SyncWriter. | 
|  | type SyncWriter struct { | 
|  | b *bytes.Buffer | 
|  | } | 
|  |  | 
|  | // New returns a new SyncWriter. | 
|  | func New() *SyncWriter { | 
|  | return &SyncWriter{ | 
|  | b: &bytes.Buffer{}, | 
|  | } | 
|  | } | 
|  |  | 
|  | // Write implements logger.SyncWriter. | 
|  | func (f *SyncWriter) Write(p []byte) (n int, err error) { | 
|  | return f.b.Write(p) | 
|  | } | 
|  |  | 
|  | // Sync implements logger.SyncWriter. | 
|  | func (f *SyncWriter) Sync() error { | 
|  | return nil | 
|  | } | 
|  |  | 
|  | // String returns the contents of the buffer. | 
|  | func (f *SyncWriter) String() string { | 
|  | return f.b.String() | 
|  | } | 
|  |  | 
|  | // Assert we implement the logger.SyncWriter interface. | 
|  | var _ logger.SyncWriter = (*SyncWriter)(nil) |