42 lines
1.1 KiB
Plaintext
42 lines
1.1 KiB
Plaintext
/*
|
|
Function: milsim_common_fnc_log
|
|
|
|
Description:
|
|
Used to log messages to the server RPT file.
|
|
|
|
Parameters:
|
|
0: NUMBER - log level.
|
|
1: STRING - component name.
|
|
2: STRING - message to log.
|
|
3: ARRAY - key value pairs of data to log.
|
|
*/
|
|
#include "..\script_component.hpp"
|
|
|
|
params [
|
|
["_logLevel", 1, [-1,0,1,2,3]], // script_mod.hpp
|
|
["_component", "", [""]],
|
|
["_message", "", [""]],
|
|
["_data", [], [[]]]
|
|
];
|
|
|
|
if (_logLevel < DEBUG_MODE) exitWith {};
|
|
|
|
private _hash = createHashMapFromArray _data;
|
|
|
|
// Replace square brackets with round brackets to avoid parsing issues.
|
|
_message regexReplace ['(\[)', "("];
|
|
_message regexReplace ['(\])', ")"];
|
|
|
|
private _levelText = switch (_logLevel) do {
|
|
case (_logLevel isEqualTo -1) : {"TRACE"};
|
|
case (_logLevel isEqualTo 0) : {"DEBUG"};
|
|
case (_logLevel isEqualTo 1) : {"INFO"};
|
|
case (_logLevel isEqualTo 2) : {"WARN"};
|
|
case (_logLevel isEqualTo 3) : {"ERROR"};
|
|
default {"INFO"};
|
|
};
|
|
|
|
private _json = [_hash] call CBA_fnc_encodeJSON;
|
|
_log = format ["[%1] [%2] [%3] [%4] [%5] :: %6", QUOTE(PREFIX), _component, _fnc_scriptNameParent, _levelText, _message, _json];
|
|
|
|
diag_log text _log; |