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