Search the Community
Showing results for tags 'diag_log'.
Found 2 results
-
[Intercept] Arma-ofstream - text output to multiple log files
Sparker posted a topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Hi there! This tiny Intercept-based addon adds two SQF commands to output data to files in text mode. You can open a file and write data to it. That's it for now! Usage examples: g_myRpt = ofstream_new "myRpt.rpt"; // Opens a file and returns a handle to it g_myRpt ofstream_write "Some text"; // Write some text to a previously opened file g_myRpt << "Look, I can output text like in C++"; // '<<' is the same as 'ofstream_write' (ofstream_new "myRpt.rpt") ofstream_write "Some text"; // We can also 'open' the file every time we want to write, the addon will handle that fine // You should probably make yourself a macro like this: // Uncomment to switch between output to external file and standard diag_log // #define OFSTREAM_ENABLED #ifdef OFSTREAM_ENABLED #define MY_LOG (ofstream_new "myModule.rpt") ofstream_write #else #define MY_LOG diag_log #endif Download / Installation: Files will be created in <ARMA ROOT>/Logs folder Install to Arma root directory as a typical mod: https://github.com/Sparker95/ARMA-ofstream/releases Also you will need the Intercept host addon, this will do: https://steamcommunity.com/sharedfiles/filedetails/?id=1645973522 And disable Battleye before launching Arma! Source (to prove that It won't mine bitcoins): https://github.com/Sparker95/ARMA-ofstream/blob/master/src/FileInterface.cpp https://github.com/Sparker95/ARMA-ofstream/blob/master/src/FileInterface.h Intercept is an amazing project which lets you interface C++ (and, I think, Python and Lua?) code with the RV engine: It's pretty easy to make a working addon (I did it from this template: https://github.com/intercept/intercept-plugin-template ) and I hope developers will use it more often! -
Can't be bothered to keep typing: diag_log format ["test value: %1",_valueToTest]; ? Put this at the top of your scripts: #define diag(a) \ private _pox = toArray str {a}; \ _pox deleteAt count _pox -1; \ _pox deleteAt 0; \ diag_log format ["MyScriptName" + " " + toString _pox + ": %1",a] Then you can type: diag(_valueToTest); And it prints the script name, variablename and value into the log. So these.... _lookAtTheVariableName = 69; diag(_lookAtTheVariableName); _fun = ["stuff","n","ting"]; diag(_fun); _fun = false; diag(_fun); diag(2>1); diag(2 isEqualTo 2); diag(["hello"]); Outputs this.... 18:22:47 "MyScriptName _lookAtTheVariableName: 69" 18:22:47 "MyScriptName _fun: [""stuff"",""n"",""ting""]" 18:22:47 "MyScriptName _fun: false" 18:22:47 "MyScriptName 2>1: true" 18:22:47 "MyScriptName 2 isEqualTo 2: true" 18:22:47 "MyScriptName [""hello""]: [""hello""]"