1*789431f2SAndroid Build Coastguard Worker /*
2*789431f2SAndroid Build Coastguard Worker * Copyright 2015 The Android Open Source Project
3*789431f2SAndroid Build Coastguard Worker *
4*789431f2SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*789431f2SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*789431f2SAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*789431f2SAndroid Build Coastguard Worker *
8*789431f2SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0
9*789431f2SAndroid Build Coastguard Worker *
10*789431f2SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*789431f2SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*789431f2SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*789431f2SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*789431f2SAndroid Build Coastguard Worker * limitations under the License.
15*789431f2SAndroid Build Coastguard Worker */
16*789431f2SAndroid Build Coastguard Worker
17*789431f2SAndroid Build Coastguard Worker #include <keymaster/soft_keymaster_logger.h>
18*789431f2SAndroid Build Coastguard Worker
19*789431f2SAndroid Build Coastguard Worker #include <stdarg.h>
20*789431f2SAndroid Build Coastguard Worker
21*789431f2SAndroid Build Coastguard Worker #ifndef _WIN32
22*789431f2SAndroid Build Coastguard Worker #include <syslog.h>
23*789431f2SAndroid Build Coastguard Worker #endif
24*789431f2SAndroid Build Coastguard Worker
25*789431f2SAndroid Build Coastguard Worker #define LOG_TAG "SoftKeymaster"
26*789431f2SAndroid Build Coastguard Worker #include <log/log.h>
27*789431f2SAndroid Build Coastguard Worker
28*789431f2SAndroid Build Coastguard Worker namespace keymaster {
29*789431f2SAndroid Build Coastguard Worker
log_msg(LogLevel level,const char * fmt,va_list args) const30*789431f2SAndroid Build Coastguard Worker int SoftKeymasterLogger::log_msg(LogLevel level, const char* fmt, va_list args) const {
31*789431f2SAndroid Build Coastguard Worker
32*789431f2SAndroid Build Coastguard Worker int android_log_level = ANDROID_LOG_ERROR;
33*789431f2SAndroid Build Coastguard Worker switch (level) {
34*789431f2SAndroid Build Coastguard Worker case DEBUG_LVL:
35*789431f2SAndroid Build Coastguard Worker android_log_level = ANDROID_LOG_DEBUG;
36*789431f2SAndroid Build Coastguard Worker break;
37*789431f2SAndroid Build Coastguard Worker case INFO_LVL:
38*789431f2SAndroid Build Coastguard Worker android_log_level = ANDROID_LOG_INFO;
39*789431f2SAndroid Build Coastguard Worker break;
40*789431f2SAndroid Build Coastguard Worker case WARNING_LVL:
41*789431f2SAndroid Build Coastguard Worker android_log_level = ANDROID_LOG_WARN;
42*789431f2SAndroid Build Coastguard Worker break;
43*789431f2SAndroid Build Coastguard Worker case ERROR_LVL:
44*789431f2SAndroid Build Coastguard Worker android_log_level = ANDROID_LOG_ERROR;
45*789431f2SAndroid Build Coastguard Worker break;
46*789431f2SAndroid Build Coastguard Worker case SEVERE_LVL:
47*789431f2SAndroid Build Coastguard Worker android_log_level = ANDROID_LOG_ERROR;
48*789431f2SAndroid Build Coastguard Worker break;
49*789431f2SAndroid Build Coastguard Worker }
50*789431f2SAndroid Build Coastguard Worker
51*789431f2SAndroid Build Coastguard Worker return LOG_PRI_VA(android_log_level, LOG_TAG, fmt, args);
52*789431f2SAndroid Build Coastguard Worker }
53*789431f2SAndroid Build Coastguard Worker
54*789431f2SAndroid Build Coastguard Worker } // namespace keymaster
55