-
Дмитрий С © (02.06.13 13:06) [0]Хочу сделать логирование путем перехвата вызовов Write/Writeln.
Подскажите в какую сторону копать? -
Rouse_ © (02.06.13 15:17) [1]Они используют функцию WriteFile.
Перехватывай ее и всего делов. -
Дмитрий С © (03.06.13 00:52) [2]Попробую поразбираться. По идее можно подменить stdout или как он под линуксом называется.
-
You can override Textrec.openfunc, inoutfunc flushfunc and closefunc.
writeln uses a global instance of Textrec.
If you override these functions, you can make it write to file instead of stdout.
It is actually assigning your own function to the function pointer. -
На самом деле всё намного проще. Если просто нужно перенаправить вывод с консоли в файл, то достаточно переопределить значение глобальной переменной output.
AssignFile(output, 'c:\log.txt')';
Rewrite(output);
Writeln('Логирование в файл c:\log.txt ');