title: What does "Using" in Serilog JSON configuration do?
body: <p>What does actually <code>Using</code> do in Serilog JSON configuration (e.g. in AppSettings.json file in .Net Core environment)?</p>
  
  <p>Let us take this configuration for example:</p>
  
  <pre class="lang-json prettyprint-override"><code>"Serilog": {
    "Using": [ "Serilog.Sinks.Console" ], &lt;=======***HERE***=========
    "MinimumLevel": "Debug",
    "WriteTo": [
      { "Name": "Console" },
      {
        "Name": "RollingFile",
        "Args": {
          "pathFormat": "logs\\log-{Date}.txt",
          "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] {Message}{NewLine}{Exception}"
        }
      }
    ],
    "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
    "Properties": {
      "Application": "My Application"
    }
  }
  </code></pre>
  
  <p>In the example above we used <code>File</code> sink <strong>WITHOUT</strong> adding it to <code>Using</code> attribute. However, everything seems to be working ok.</p>
  
  <p>So I cannot understand exactly why we basically need this <code>Using</code>. Could someone explain it to me please?</p>