2012-06-07 3 views
3

У меня есть много существующих кодов C и C++ для работы на Android, использующих syslog. Как получить вывод вызовов syslog для отображения в logcat?Android NDK: как вы перенаправляете вывод syslog для logcat?

(Это DEV времени единственная проблема, я не волнует, если решение не является портативным или не могут быть отправлены.)

Обратите внимание, что с помощью LOG_PERROR не очень полезно. Вы можете:

openlog("mystuff", LOG_PERROR | LOG_PID, LOG_USER); 

Проблема в том, что любой, кто использует syslog, предполагает, что они также могут использовать openlog; вы должны предположить, что ваш openlog (указав LOG_PERROR) будет перезаписан существующими вызовами в openlog.

ответ

1

Вы можете посмотреть here, чтобы узнать, как использовать ведение журнала в собственном коде, а затем заменить функцию syslog для вывода с использованием этой функции.

+1

Это не практично, если у вас нет крошечного проекта без внешних зависимостей. –

+0

@James: Android уже является совершенно уникальной средой (bion libc). Если вы можете перекомпилировать свои проекты, просто добавьте '-include syslogwrapper.h' в ваш 'CFLAGS', где заголовочный файл содержит 'syslog()' и 'openlog()' переназначения '# define'. Я был бы удивлен, если бы Android даже обеспечил эти две функции. – FooF

+0

Эта ссылка сейчас мертва, но копия находится на waybackmachine http://web.archive.org/web/20120729145744/http://blog.blackwhale.at/?p=218 – JohnTESlade

Смежные вопросы