summaryrefslogtreecommitdiffstats
path: root/logger.cpp
diff options
context:
space:
mode:
authorShawn Willden <swillden@google.com>2014-12-30 23:23:40 -0700
committerShawn Willden <swillden@google.com>2015-02-25 12:33:04 -0700
commit538b0654fd5096841e12da15271c74429a37be18 (patch)
tree3f86878f9f636c5649d0e85da3d39b0b0dc33c07 /logger.cpp
parent63ac043f81f8e2a15bbadcb6628b92096295ab6a (diff)
downloadandroid_system_keymaster-538b0654fd5096841e12da15271c74429a37be18.tar.gz
android_system_keymaster-538b0654fd5096841e12da15271c74429a37be18.tar.bz2
android_system_keymaster-538b0654fd5096841e12da15271c74429a37be18.zip
Refactor logging, to stop passing Logger references everywhere.
Change-Id: I9380c21872710743413ca6a4340ae19f58b1e983
Diffstat (limited to 'logger.cpp')
-rw-r--r--logger.cpp130
1 files changed, 130 insertions, 0 deletions
diff --git a/logger.cpp b/logger.cpp
new file mode 100644
index 0000000..d84abc8
--- /dev/null
+++ b/logger.cpp
@@ -0,0 +1,130 @@
+/*
+ * Copyright 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <keymaster/logger.h>
+
+namespace keymaster {
+
+Logger* Logger::instance_ = 0;
+
+int Logger::log(LogLevel level, const char* fmt, ...) const {
+ va_list args;
+ va_start(args, fmt);
+ int result = log_msg(level, fmt, args);
+ va_end(args);
+ return result;
+}
+
+int Logger::debug(const char* fmt, ...) const {
+ va_list args;
+ va_start(args, fmt);
+ int result = log_msg(DEBUG_LVL, fmt, args);
+ va_end(args);
+ return result;
+}
+
+int Logger::info(const char* fmt, ...) const {
+ va_list args;
+ va_start(args, fmt);
+ int result = log_msg(INFO_LVL, fmt, args);
+ va_end(args);
+ return result;
+}
+
+int Logger::warning(const char* fmt, ...) const {
+ va_list args;
+ va_start(args, fmt);
+ int result = log_msg(WARNING_LVL, fmt, args);
+ va_end(args);
+ return result;
+}
+
+int Logger::error(const char* fmt, ...) const {
+ va_list args;
+ va_start(args, fmt);
+ int result = log_msg(ERROR_LVL, fmt, args);
+ va_end(args);
+ return result;
+}
+
+int Logger::severe(const char* fmt, ...) const {
+ va_list args;
+ va_start(args, fmt);
+ int result = log_msg(SEVERE_LVL, fmt, args);
+ va_end(args);
+ return result;
+}
+
+/* static */
+int Logger::Log(LogLevel level, const char* fmt, va_list args) {
+ if (!instance_)
+ return 0;
+ return instance_->log_msg(level, fmt, args);
+}
+
+/* static */
+int Logger::Log(LogLevel level, const char* fmt, ...) {
+ va_list args;
+ va_start(args, fmt);
+ int result = Log(level, fmt, args);
+ va_end(args);
+ return result;
+}
+
+/* static */
+int Logger::Debug(const char* fmt, ...) {
+ va_list args;
+ va_start(args, fmt);
+ int result = Log(DEBUG_LVL, fmt, args);
+ va_end(args);
+ return result;
+}
+
+/* static */
+int Logger::Info(const char* fmt, ...) {
+ va_list args;
+ va_start(args, fmt);
+ int result = Log(INFO_LVL, fmt, args);
+ va_end(args);
+ return result;
+}
+/* static */
+int Logger::Warning(const char* fmt, ...) {
+ va_list args;
+ va_start(args, fmt);
+ int result = Log(WARNING_LVL, fmt, args);
+ va_end(args);
+ return result;
+}
+/* static */
+int Logger::Error(const char* fmt, ...) {
+ va_list args;
+ va_start(args, fmt);
+ int result = Log(ERROR_LVL, fmt, args);
+ va_end(args);
+ return result;
+}
+/* static */
+int Logger::Severe(const char* fmt, ...) {
+ va_list args;
+ va_start(args, fmt);
+ int result = Log(SEVERE_LVL, fmt, args);
+ va_end(args);
+ return result;
+}
+
+
+} // namespace keymaster