diff options
author | Tobias Markmann <tm@ayena.de> | 2015-04-08 20:18:50 (GMT) |
---|---|---|
committer | Kevin Smith <kevin.smith@isode.com> | 2015-04-08 20:35:34 (GMT) |
commit | 865ad6a0d605d6cfce1d4503c97f6a66f201f19b (patch) | |
tree | ffe7072ae1db8f89742b306fc81336f95357b475 /Swiften | |
parent | d321b10cb84b4ebb919b62de50c76aac6eb72a4d (diff) | |
download | swift-865ad6a0d605d6cfce1d4503c97f6a66f201f19b.zip swift-865ad6a0d605d6cfce1d4503c97f6a66f201f19b.tar.bz2 |
Add optional logging to native log framework on Android
To enable native Android logging you need to pass
"-DSWIFT_ANDROID_LOGGING" to the "cxxflags" and "-llog" to the
"linkflags".
Test-Information:
Tested on OS X 10.9.5, with NDK API level 14 on an emulated Android 4.0
ARM instance.
Tested that if enabled, Swift log messages appear in the Android
system log via "adb logcat" instead of appearing on stdout.
Change-Id: If89c870f0b664a5e65ccc1fa8a244826d2875ec1
Diffstat (limited to 'Swiften')
-rw-r--r-- | Swiften/Base/Log.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Swiften/Base/Log.cpp b/Swiften/Base/Log.cpp index edf6f61..4879766 100644 --- a/Swiften/Base/Log.cpp +++ b/Swiften/Base/Log.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2013 Isode Limited. + * Copyright (c) 2010-2015 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ @@ -8,6 +8,10 @@ #include <cstdio> +#if defined(SWIFT_ANDROID_LOGGING) && defined(__ANDROID__) +#include <android/log.h> +#endif + namespace Swift { @@ -17,9 +21,13 @@ Log::Log() { } Log::~Log() { +#if defined(SWIFT_ANDROID_LOGGING) && defined(__ANDROID__) + __android_log_print(ANDROID_LOG_VERBOSE, "Swift", stream.str().c_str(), 1); +#else // Using stdio for thread safety (POSIX file i/o calls are guaranteed to be atomic) fprintf(stderr, "%s", stream.str().c_str()); fflush(stderr); +#endif } std::ostringstream& Log::getStream( |