Если я правильно понимаю ваш вопрос, при условии, что вы запускаете свое приложение из какой-либо оболочки (bash
или иным образом) и видите, что printf
идет в приглашение оболочки.И вы хотели бы сохранить их в файл.
Ну, самый простой способ сделать это с помощью команды script
.
Вы делаете следующее.
~> script appOutputlog.log
~> ./app.exe
Как только вы закончите, либо потому, что приложение завершено, либо вы закончили запись своего журнала.Вы можете использовать Ctrl + D
или Ctrl + C
для выхода из команды сценария.И у вас будет файл appOutputlog.log
в локальном каталоге со всеми журналами, которые были напечатаны в командной строке в оболочке.
2 другим решением является использование fopen
, за которым следует fprintf
вместо обычных printf
с.
3 Другое решение - подключить ваш процесс к syslogd
, работающему в вашей системе.Это один из самых стандартных и производственных способов сбора бревен.syslogd
- это системный процесс-демон, предназначенный исключительно для записи журналов различных процессов.