/*
    Author: IT07

    Description:
    will log given data if debug is enabled

    Params:
    _this: ARRAY - contains data required for logging
    _this select 0: STRING - prefix. Use "" if none
    _this select 1: SCALAR - 0 = error, 1 = info, 2 = special
    _this select 2: STRING - the thing to log

    Returns:
    nothing (use spawn, not call)
*/

if ("debugMode" call VEMFr_fnc_getSetting > 0) then
{
   scopeName "outer";
   private ["_prefix","_type","_line","_doLog"];
   _prefix = param [0, "", [""]];
   _type = param [1, 3, [0]];
   _line = param [2, "", [""]];

   _doLog = { diag_log text format["IT07: [exile_vemf_reloaded] %1 -- %2: %3", _prefix, _this, _line] };
   _debugMode = "debugMode" call VEMFr_fnc_getSetting;
   if (_type isEqualTo 0) then
   {
      if (_debugMode isEqualTo 1 OR _debugMode isEqualTo 3) then
      {
         "ERROR" call _doLog;
         breakOut "outer";
      };
   };
   if (_type isEqualTo 1) then
   {
      if (_debugMode isEqualTo 2 OR _debugMode isEqualTo 3) then
      {
         "INFO" call _doLog;
         breakOut "outer";
      };
   };
   if (_type isEqualTo 2) then // This bypasses _debugMode setting. Always logs given params even if debugMode is set to 0
   {
      "SYSTEM" call _doLog;
      breakOut "outer";
   };
};
