Desugar unwraps a SugaredLogger, exposing the original Logger. Desugaring is quite inexpensive, so it's reasonable for a single application to use both Loggers and SugaredLoggers, converting between them on the boundaries of performance-sensitive code.
()
| 61 | // both Loggers and SugaredLoggers, converting between them on the boundaries |
| 62 | // of performance-sensitive code. |
| 63 | func (s *SugaredLogger) Desugar() *Logger { |
| 64 | base := s.base.clone() |
| 65 | base.callerSkip -= 2 |
| 66 | return base |
| 67 | } |
| 68 | |
| 69 | // Named adds a sub-scope to the logger's name. See Logger.Named for details. |
| 70 | func (s *SugaredLogger) Named(name string) *SugaredLogger { |