title: How to write log has token trace per request
body: <p>I user gopkg.in/natefinch/lumberjack.v2 to write log and compress file log.
  I config log like</p>
  <pre><code>func Init() {
      file := &amp;lumberjack.Logger{
          Filename:   &quot;info&quot; + &quot;.log&quot;,
          MaxSize:    20, // mb
          MaxBackups: 5,
          Compress:   true,
      }
      id, err := gonanoid.New()
      if err != nil {
          panic(err)
      }
  
      Log = log.New(file, id+&quot; &quot;, log.Ldate|log.Ltime)
  }
  </code></pre>
  <p>But id was created once time when I start service. I want to create new id per request. This I usually do with java but got stuck and couldn't find it in Go.</p>