Add Android examples.

This commit is contained in:
Hugh Wang 2016-09-14 17:16:18 +08:00
parent 72a6fd65da
commit 96267654e6
5 changed files with 34 additions and 3 deletions

3
.gitignore vendored
View File

@ -1,4 +1,4 @@
# Auto generated files
# Auto generated files
*.slo
*.lo
*.o
@ -46,6 +46,7 @@ example/*
!example/example.vcxproj
!example/CMakeLists.txt
!example/multisink.cpp
!example/jni
# generated files
generated

View File

@ -13,6 +13,7 @@
void async_example();
void syslog_example();
void android_example();
void user_defined_example();
void err_handler_example();
@ -48,7 +49,6 @@ int main(int, char*[])
auto my_logger = spd::basic_logger_mt("basic_logger", "logs/basic.txt");
my_logger->info("Some log message");
// Create a file rotating logger with 5mb size max and 3 rotated files
auto rotating_logger = spd::rotating_logger_mt("some_logger_name", "logs/mylogfile", 1048576 * 5, 3);
for (int i = 0; i < 10; ++i)
@ -76,6 +76,9 @@ int main(int, char*[])
// syslog example. linux/osx only
syslog_example();
// android example. compile with NDK
android_example();
// Log user-defined types example
user_defined_example();
@ -119,6 +122,16 @@ void syslog_example()
#endif
}
// Android example
void android_example()
{
#if defined(__ANDROID__)
std::string tag = "spdlog-android";
auto android_logger = spd::android_logger("android", tag);
android_logger->critical("Use \"adb shell logcat\" to view this message.");
#endif
}
// user defined types logging by implementing operator<<
struct my_type
{
@ -148,4 +161,3 @@ void err_handler_example()
});
spd::get("console")->info("some invalid message to trigger an error {}{}{}{}", 3);
}

15
example/jni/Android.mk Normal file
View File

@ -0,0 +1,15 @@
# Setup a project
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := example
LOCAL_SRC_FILES := example.cpp
LOCAL_CPPFLAGS += -Wall -Wshadow -Wextra -pedantic -std=c++11 -fPIE -pie
LOCAL_LDFLAGS += -fPIE -pie
# Add exception support and set path for spdlog's headers
LOCAL_CPPFLAGS += -fexceptions -I../include
# Use android's log library
LOCAL_LDFLAGS += -llog
include $(BUILD_EXECUTABLE)

View File

@ -0,0 +1,2 @@
# Exceptions are used in spdlog. Link to an exception-ready C++ runtime.
APP_STL = gnustl_static

1
example/jni/example.cpp Symbolic link
View File

@ -0,0 +1 @@
../example.cpp