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