1 /* 2 * Copyright (c) 2022-2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef _KOALA_TRACER_ 17 #define _KOALA_TRACER_ 18 19 #ifdef KOALA_OHOS 20 #include <hilog/log.h> 21 #define KOALA_TRACE(msg, str) OH_LOG_Print(LOG_APP, LOG_INFO, 0xFF00, "Koala", msg, str) 22 // Also do 23 // hdc shell hilog -p off 24 // hdc shell hilog -Q pidoff 25 // to see the output. 26 #define KOALA_TRACE_PUBLIC "%{public}s" 27 #else 28 #include <stdio.h> 29 #define KOALA_TRACE(msg, str) fprintf(stderr, "Koala: " msg "\n", str) 30 #define KOALA_TRACE_PUBLIC "%s" 31 #endif 32 33 class InteropMethodCall { 34 private: 35 const char* name; 36 public: InteropMethodCall(const char * name)37 InteropMethodCall(const char* name) : name(name) { 38 KOALA_TRACE(">>> " KOALA_TRACE_PUBLIC, name); 39 } ~InteropMethodCall()40 ~InteropMethodCall() { 41 KOALA_TRACE("<<< " KOALA_TRACE_PUBLIC, name); 42 } 43 }; 44 45 #endif // _KOALA_TRACER_