187eac99a21772ae56018cb81db6966557b459554Ruben Brunk/* 287eac99a21772ae56018cb81db6966557b459554Ruben Brunk * Copyright (C) 2013 The Android Open Source Project 387eac99a21772ae56018cb81db6966557b459554Ruben Brunk * 487eac99a21772ae56018cb81db6966557b459554Ruben Brunk * Licensed under the Apache License, Version 2.0 (the "License"); 587eac99a21772ae56018cb81db6966557b459554Ruben Brunk * you may not use this file except in compliance with the License. 687eac99a21772ae56018cb81db6966557b459554Ruben Brunk * You may obtain a copy of the License at 787eac99a21772ae56018cb81db6966557b459554Ruben Brunk * 887eac99a21772ae56018cb81db6966557b459554Ruben Brunk * http://www.apache.org/licenses/LICENSE-2.0 987eac99a21772ae56018cb81db6966557b459554Ruben Brunk * 1087eac99a21772ae56018cb81db6966557b459554Ruben Brunk * Unless required by applicable law or agreed to in writing, software 1187eac99a21772ae56018cb81db6966557b459554Ruben Brunk * distributed under the License is distributed on an "AS IS" BASIS, 1287eac99a21772ae56018cb81db6966557b459554Ruben Brunk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1387eac99a21772ae56018cb81db6966557b459554Ruben Brunk * See the License for the specific language governing permissions and 1487eac99a21772ae56018cb81db6966557b459554Ruben Brunk * limitations under the License. 1587eac99a21772ae56018cb81db6966557b459554Ruben Brunk */ 1687eac99a21772ae56018cb81db6966557b459554Ruben Brunk 1787eac99a21772ae56018cb81db6966557b459554Ruben Brunk#ifndef _RUNTIME_ANDROID_LOG_H 1887eac99a21772ae56018cb81db6966557b459554Ruben Brunk#define _RUNTIME_ANDROID_LOG_H 1987eac99a21772ae56018cb81db6966557b459554Ruben Brunk 2087eac99a21772ae56018cb81db6966557b459554Ruben Brunk// This relies on JNIHelp.h 2187eac99a21772ae56018cb81db6966557b459554Ruben Brunk 2287eac99a21772ae56018cb81db6966557b459554Ruben Brunk/* Logging macros. 2387eac99a21772ae56018cb81db6966557b459554Ruben Brunk * 2487eac99a21772ae56018cb81db6966557b459554Ruben Brunk * Logs an exception. If the exception is omitted or NULL, logs the current exception 2587eac99a21772ae56018cb81db6966557b459554Ruben Brunk * from the JNI environment, if any. 2687eac99a21772ae56018cb81db6966557b459554Ruben Brunk */ 2787eac99a21772ae56018cb81db6966557b459554Ruben Brunk#define LOG_EX(env, priority, tag, ...) \ 2887eac99a21772ae56018cb81db6966557b459554Ruben Brunk jniLogException(env, ANDROID_##priority, tag, ##__VA_ARGS__) 2987eac99a21772ae56018cb81db6966557b459554Ruben Brunk#define LOGV_EX(env, ...) LOG_EX(env, LOG_VERBOSE, LOG_TAG, ##__VA_ARGS__) 3087eac99a21772ae56018cb81db6966557b459554Ruben Brunk#define LOGD_EX(env, ...) LOG_EX(env, LOG_DEBUG, LOG_TAG, ##__VA_ARGS__) 3187eac99a21772ae56018cb81db6966557b459554Ruben Brunk#define LOGI_EX(env, ...) LOG_EX(env, LOG_INFO, LOG_TAG, ##__VA_ARGS__) 3287eac99a21772ae56018cb81db6966557b459554Ruben Brunk#define LOGW_EX(env, ...) LOG_EX(env, LOG_WARN, LOG_TAG, ##__VA_ARGS__) 3387eac99a21772ae56018cb81db6966557b459554Ruben Brunk#define LOGE_EX(env, ...) LOG_EX(env, LOG_ERROR, LOG_TAG, ##__VA_ARGS__) 3487eac99a21772ae56018cb81db6966557b459554Ruben Brunk 3587eac99a21772ae56018cb81db6966557b459554Ruben Brunk#endif // _RUNTIME_ANDROID_LOG_H 36