<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
      autoReload="true"
      throwExceptions="false"
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">

  <!-- optional, add some variables
  https://github.com/nlog/NLog/wiki/Configuration-file#variables
  -->
  <variable name="myvar" value="myvalue"/>

  <!--
  See https://github.com/nlog/nlog/wiki/Configuration-file
  for information on customizing logging rules and outputs.
   -->
  <targets> 

    <!--
    add your targets here
    See https://github.com/nlog/NLog/wiki/Targets for possible targets.
    See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
    -->

    <!--
    Write events to a file with the date in the filename.
    <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
            layout="${longdate} ${uppercase:${level}} ${message}" />
    -->
    <target xsi:type="File" name="ws" fileName="${basedir}/logs/WS_${shortdate}.log" layout="${longdate} ${uppercase:${level}} ${message}" />
    <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate} ${uppercase:${level}} ${message}" />
    <target xsi:type="Console" name="Console" layout="${longdate} ${uppercase:${level}} ${message}" />
    <target xsi:type="File" name="auth" fileName="${basedir}/logs/Auth_${shortdate}.log"
             layout="${longdate} ${callsite} ${uppercase:${level}} ${message}" />
  </targets>
  <rules>
    <!-- add your logging rules here -->
    <!--
    Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace)  to "f"
    <logger name="*" minlevel="Debug" writeTo="f" />
    -->
    <logger name="OCPPServer.*" minlevel="Info" writeTo="ws" />
    <logger name="SuperWebSocket.*" minlevel="Info" writeTo="ws" />
    <logger name="EVCB_OCPP.WSServer.Service.OuterBusinessService" level="Info" writeTo="auth" />
    <logger name="EVCB_OCPP.*" minlevel="Debug" writeTo="f" />
    <logger name="EVCB_OCPP.*" minlevel="Trace" writeTo="console" />

  </rules>
</nlog>
