You could make another program separate from Blockland which reads the console output and then writes it to a file using something like C++ or Java.
Kalphiter provided this Java snippet before :
public void run()
{
String consoleLine = null;
try
{
String lastTwoChars = "";
String lastChar_0 = "";
String lastChar_1 = "";
Runtime rt = Runtime.getRuntime();
proc = rt.exec(cmd);
proc_in = proc.getInputStream();
proc_out = proc.getOutputStream();
proc_err = proc.getErrorStream();
BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream()));
output = new BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));
String currentChar;
int lineInt;
while ((lineInt = input.read()) >= 0 && lineInt < 256)
{
currentChar = new String(new byte[] { new Integer(lineInt).byteValue() });
lastChar_0 = lastChar_1;
lastChar_1 = currentChar;
lastTwoChars = lastChar_0 + lastChar_1;
if(lineInt == 10)
{
addConsole(consoleLine);
consoleLine = "";
}
else if(lineInt != 13)
consoleLine += currentChar;
}
running = false;
}
catch(Exception g)
{
addConsole("Exception: "+ g);
running = false;
}
running = false;
onStop();
}
Of course, there are many methods that aren't there, and I was just having fun with reading character by character
And you could access the process and read the output from the memory
But yes, you can't use echo(); , eval(); , or read the console.log file. You'd have to make a separate wrapper program which does it. Since you know Java, hopefully you can work off of this code.