{
  "WSPort": 54089,
  "WSSPort": "",
  "LocalAuthAPI": "",
  "LogProvider": "NLog",
  "OCPP20_WSUrl": "ws://ocpp.phihong.com.tw:5004",
  "OCPP20_WSSUrl": "ws://ocpp.phihong.com.tw:5004",
  "MaintainMode": 0,
  "superSocket": {
    "Servers": [
      {
        "Name": "SuperWebSocket",
        "serverTypeName": "SuperWebSocket",
        "Certificate": {
          "filePath": "localhost.pfx",
          "password": "supersocket",
          "storeName": "My",
          "thumbprint": "‎3f07fb28c158843209db8f51bfe748dbe9f52399",
          "storeLocation": "LocalMachine",
          "clientCertificateRequired": "false",
          "keyStorageFlags": "Exportable"
        }
      }
    ]
  },
  "SuperSocketServerCertificate": {
    "filePath": "localhost.pfx",
    "password": "supersocket",
    "storeName": "My",
    "thumbprint": "‎3f07fb28c158843209db8f51bfe748dbe9f52399",
    "storeLocation": "LocalMachine",
    "clientCertificateRequired": "false",
    "keyStorageFlags": "Exportable"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "NLog": {
    "targets": {
      "async": true,
      "f": {
        "type": "File",
        "fileName": "/home/logs/server/${shortdate}.log",
        "layout": "${longdate} ${uppercase:${level}} ${message}"
      },
      "ws": {
        "type": "File",
        "fileName": "/home/logs/server/WS_${shortdate}.log",
        "layout": "${longdate} ${uppercase:${level}} ${message}"
      },
      "Console": {
        "type": "Console",
        "layout": "${longdate} ${uppercase:${level}} ${message}"
      },
      "auth": {
        "type": "File",
        "fileName": "/home/logs/server/Auth_${shortdate}.log",
        "layout": "${longdate} ${callsite} ${uppercase:${level}} ${message}"
      }
    },
    "rules": [
      {
        "ruleName": "OCPPServer",
        "logger": "OCPPServer.*",
        "minLevel": "Info",
        "writeTo": "ws"
      },
      {
        "ruleName": "SuperWebSocket",
        "logger": "SuperWebSocket.*",
        "minLevel": "Info",
        "writeTo": "ws"
      },
      {
        "ruleName": "OuterBusinessService",
        "logger": "EVCB_OCPP.WSServer.Service.OuterBusinessService",
        "level": "Info",
        "writeTo": "auth"
      },
      {
        "ruleName": "FileLog",
        "logger": "EVCB_OCPP.*",
        "minLevel": "Debug",
        "writeTo": "f"
      },
      {
        "ruleName": "ConsoleLog",
        "logger": "EVCB_OCPP.*",
        "minlevel": "Trace",
        "writeTo": "console"
      },
      {
        "ruleName": "MsFileLog",
        "logger": "Microsoft.*",
        "minLevel": "Warn",
        "writeTo": "f"
      },
      {
        "ruleName": "MsConsoleLog",
        "logger": "Microsoft.*",
        "minlevel": "Warn",
        "writeTo": "console"
      },
      {
        "ruleName": "DbConsoleLog",
        "logger": "System.Data.Entity.*",
        "minlevel": "Info",
        "writeTo": "console"
      },
      {
        "ruleName": "DbFileLog",
        "logger": "System.Data.Entity.*",
        "minlevel": "Info",
        "writeTo": "f"
      }
    ]
  },
  "ReverseProxy": {
    "Routes": {
      "routeApi": {
        "ClusterId": "api",
        "Match": {
          "Path": "/api/{**remainder}"
        },
        "Transforms": [
          { "PathRemovePrefix": "/api" }
        ]
      },
      "route1": {
        "ClusterId": "ocpp",
        "Match": {
          "Path": "{**catch-all}"
        }
      }
    },
    "Clusters": {
      "ocpp": {
        "Destinations": {
          "destination1": {
            "Address": "http://localhost:54089/"
          }
        }
      },
      "api": {
        "Destinations": {
          "destination1": {
            "Address": "http://localhost:54088/"
          }
        }
      }
    }
  },
  "ConnectionStrings": {
    "ConnectionLogDBContext": "data source=zerova-ev-dev.database.windows.net;initial catalog=StandardOCPP_ConnectionLog;persist security info=True;user id=azdevsoftware;password=1h52dev#az;MultipleActiveResultSets=True;App=EntityFramework;TrustServerCertificate=true;Max Pool Size=200;Connection Lifetime=0;Pooling=true;",
    "MainDBContext": "data source=zerova-ev-dev.database.windows.net;initial catalog=StandardOCPP_Main;;persist security info=True;user id=azdevsoftware;password=1h52dev#az;MultipleActiveResultSets=True;App=EntityFramework;TrustServerCertificate=true;Max Pool Size=1024;Connection Lifetime=0;Pooling=true;Min Pool Size=150;",
    "MeterValueDBContext": "data source=zerova-ev-dev.database.windows.net;initial catalog=StandardOCPP_MeterValue;;persist security info=True;user id=azdevsoftware;password=1h52dev#az;MultipleActiveResultSets=True;App=EntityFramework;TrustServerCertificate=true;Max Pool Size=200;Connection Lifetime=0;Pooling=true;",
    "WebDBContext": "data source=zerova-ev-dev.database.windows.net;initial catalog=StandardOCPP_Web;;persist security info=True;user id=azdevsoftware;password=1h52dev#az;MultipleActiveResultSets=True;App=EntityFramework;TrustServerCertificate=true;Max Pool Size=200;Connection Lifetime=0;Pooling=true;"
  }
}