1*84e33947SAndroid Build Coastguard Worker /*
2*84e33947SAndroid Build Coastguard Worker * Copyright (C) 2023 The Android Open Source Project
3*84e33947SAndroid Build Coastguard Worker *
4*84e33947SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*84e33947SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*84e33947SAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*84e33947SAndroid Build Coastguard Worker *
8*84e33947SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0
9*84e33947SAndroid Build Coastguard Worker *
10*84e33947SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*84e33947SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*84e33947SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*84e33947SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*84e33947SAndroid Build Coastguard Worker * limitations under the License.
15*84e33947SAndroid Build Coastguard Worker */
16*84e33947SAndroid Build Coastguard Worker
17*84e33947SAndroid Build Coastguard Worker #include <cstdio>
18*84e33947SAndroid Build Coastguard Worker
19*84e33947SAndroid Build Coastguard Worker #include "chre_host/log.h"
20*84e33947SAndroid Build Coastguard Worker
21*84e33947SAndroid Build Coastguard Worker namespace android::chre {
22*84e33947SAndroid Build Coastguard Worker
outputHostLog(int priority,FILE * stream,const char * format,const char * func,unsigned int line,...)23*84e33947SAndroid Build Coastguard Worker void outputHostLog(int priority, FILE *stream, const char *format,
24*84e33947SAndroid Build Coastguard Worker const char *func, unsigned int line, ...) {
25*84e33947SAndroid Build Coastguard Worker va_list args;
26*84e33947SAndroid Build Coastguard Worker va_start(args, line);
27*84e33947SAndroid Build Coastguard Worker LOG_PRI_VA(priority, LOG_TAG, format, args);
28*84e33947SAndroid Build Coastguard Worker va_end(args);
29*84e33947SAndroid Build Coastguard Worker va_start(args, line);
30*84e33947SAndroid Build Coastguard Worker fprintf(stream, "%s:%d: ", func, line);
31*84e33947SAndroid Build Coastguard Worker vfprintf(stream, format, args);
32*84e33947SAndroid Build Coastguard Worker fprintf(stream, "\n");
33*84e33947SAndroid Build Coastguard Worker fflush(stream); // flush the buffer to print out the log immediately
34*84e33947SAndroid Build Coastguard Worker va_end(args);
35*84e33947SAndroid Build Coastguard Worker }
36*84e33947SAndroid Build Coastguard Worker
37*84e33947SAndroid Build Coastguard Worker } // namespace android::chre