1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 3e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Copyright (C) 2012 Broadcom Corporation 4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * you may not use this file except in compliance with the License. 7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * You may obtain a copy of the License at: 8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * See the License for the specific language governing permissions and 15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * limitations under the License. 16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/ 18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 19e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Override the ALOGD(), ALOGE(), and other logging macros from 22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * /system/core/include/cutils/log.h 23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/ 25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "OverrideLog.h" 26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include <cutils/properties.h> 27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "config.h" 28a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#include "android_logmsg.h" 29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LOG_TAG "NfcNciHal" 30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectunsigned char appl_trace_level = BT_TRACE_LEVEL_DEBUG; 33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 34e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 35e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************* 36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 37e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function: InitializeGlobalAppLogLevel 38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description: Initialize and get global logging level from 40e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Android property nfc.app_log_level. 41e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 42e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns: Global log level: 43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** BT_TRACE_LEVEL_NONE 0 * No trace messages to be generated 44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** BT_TRACE_LEVEL_ERROR 1 * Error condition trace messages 45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** BT_TRACE_LEVEL_WARNING 2 * Warning condition trace messages 46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** BT_TRACE_LEVEL_API 3 * API traces 47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** BT_TRACE_LEVEL_EVENT 4 * Debug messages for events 48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** BT_TRACE_LEVEL_DEBUG 5 * Debug messages (general) 49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/ 51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectunsigned char InitializeGlobalAppLogLevel () 52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project unsigned long num = 0; 54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project char valueStr [PROPERTY_VALUE_MAX] = {0}; 55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 56d8f9332bd02e621ee8c38254844f80ea147c46deEvan Chu num = 1; 57d8f9332bd02e621ee8c38254844f80ea147c46deEvan Chu if (GetNumValue (NAME_APPL_TRACE_LEVEL, &num, sizeof(num))) 58d8f9332bd02e621ee8c38254844f80ea147c46deEvan Chu appl_trace_level = (unsigned char) num; 59d8f9332bd02e621ee8c38254844f80ea147c46deEvan Chu 60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project int len = property_get ("nfc.app_log_level", valueStr, ""); 61e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project if (len > 0) 62e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project { 63e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project //let Android property override default value 64e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project sscanf (valueStr, "%lu", &num); 65e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project appl_trace_level = (unsigned char) num; 66e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project } 67e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 68e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project //0xFF is a special value used by the stack to query the current 69e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project //trace level; it does not change any trace level 70e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project if (appl_trace_level == 0xFF) 71e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project appl_trace_level = BT_TRACE_LEVEL_DEBUG; 72e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ALOGD ("%s: level=%u", __FUNCTION__, appl_trace_level); 73a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu 74a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu if (appl_trace_level < BT_TRACE_LEVEL_DEBUG) 75a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu { 76a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu //display protocol traces in raw format 77a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu ProtoDispAdapterUseRawOutput (TRUE); 78a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu } 79e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project return appl_trace_level; 80e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} 81