xref: /aosp_15_r20/external/executorch/extension/android/jni/log.h (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Worker /*
2*523fa7a6SAndroid Build Coastguard Worker  * Copyright (c) Meta Platforms, Inc. and affiliates.
3*523fa7a6SAndroid Build Coastguard Worker  * All rights reserved.
4*523fa7a6SAndroid Build Coastguard Worker  *
5*523fa7a6SAndroid Build Coastguard Worker  * This source code is licensed under the BSD-style license found in the
6*523fa7a6SAndroid Build Coastguard Worker  * LICENSE file in the root directory of this source tree.
7*523fa7a6SAndroid Build Coastguard Worker  */
8*523fa7a6SAndroid Build Coastguard Worker 
9*523fa7a6SAndroid Build Coastguard Worker #include <functional>
10*523fa7a6SAndroid Build Coastguard Worker #include <string>
11*523fa7a6SAndroid Build Coastguard Worker #include <vector>
12*523fa7a6SAndroid Build Coastguard Worker 
13*523fa7a6SAndroid Build Coastguard Worker #include <executorch/runtime/platform/log.h>
14*523fa7a6SAndroid Build Coastguard Worker #include <executorch/runtime/platform/platform.h>
15*523fa7a6SAndroid Build Coastguard Worker #include <executorch/runtime/platform/runtime.h>
16*523fa7a6SAndroid Build Coastguard Worker 
17*523fa7a6SAndroid Build Coastguard Worker namespace executorch::extension {
18*523fa7a6SAndroid Build Coastguard Worker struct log_entry {
19*523fa7a6SAndroid Build Coastguard Worker   et_timestamp_t timestamp;
20*523fa7a6SAndroid Build Coastguard Worker   et_pal_log_level_t level;
21*523fa7a6SAndroid Build Coastguard Worker   std::string filename;
22*523fa7a6SAndroid Build Coastguard Worker   std::string function;
23*523fa7a6SAndroid Build Coastguard Worker   size_t line;
24*523fa7a6SAndroid Build Coastguard Worker   std::string message;
25*523fa7a6SAndroid Build Coastguard Worker 
log_entrylog_entry26*523fa7a6SAndroid Build Coastguard Worker   log_entry(
27*523fa7a6SAndroid Build Coastguard Worker       et_timestamp_t timestamp,
28*523fa7a6SAndroid Build Coastguard Worker       et_pal_log_level_t level,
29*523fa7a6SAndroid Build Coastguard Worker       const char* filename,
30*523fa7a6SAndroid Build Coastguard Worker       const char* function,
31*523fa7a6SAndroid Build Coastguard Worker       size_t line,
32*523fa7a6SAndroid Build Coastguard Worker       const char* message,
33*523fa7a6SAndroid Build Coastguard Worker       size_t length)
34*523fa7a6SAndroid Build Coastguard Worker       : timestamp(timestamp),
35*523fa7a6SAndroid Build Coastguard Worker         level(level),
36*523fa7a6SAndroid Build Coastguard Worker         filename(filename),
37*523fa7a6SAndroid Build Coastguard Worker         function(function),
38*523fa7a6SAndroid Build Coastguard Worker         line(line),
39*523fa7a6SAndroid Build Coastguard Worker         message(message, length) {}
40*523fa7a6SAndroid Build Coastguard Worker };
41*523fa7a6SAndroid Build Coastguard Worker 
42*523fa7a6SAndroid Build Coastguard Worker void access_log_buffer(std::function<void(std::vector<log_entry>&)> accessor);
43*523fa7a6SAndroid Build Coastguard Worker } // namespace executorch::extension
44