MCPcopy Create free account
hub / github.com/NativeScript/SimDeck / simulator_logs

Function simulator_logs

packages/server/src/api/routes.rs:3816–3844  ·  view source on GitHub ↗
(
    State(state): State<AppState>,
    Path(udid): Path<String>,
    Query(query): Query<LogsQuery>,
)

Source from the content-addressed store, hash-verified

3814}
3815
3816async fn simulator_logs(
3817 State(state): State<AppState>,
3818 Path(udid): Path<String>,
3819 Query(query): Query<LogsQuery>,
3820) -> Result<Json<Value>, AppError> {
3821 let limit = query.limit.unwrap_or(250).clamp(1, 1000);
3822 if android::is_android_id(&udid) {
3823 let entries = run_android_action(state, move |android| android.logs(&udid, limit)).await?;
3824 return Ok(json(json_value!({ "entries": entries })));
3825 }
3826 let filters = LogFilters::new(
3827 split_filter_values(query.levels.as_deref()),
3828 split_filter_values(query.processes.as_deref()),
3829 query.q.as_deref().unwrap_or("").trim().to_lowercase(),
3830 );
3831 let entries = if query.backfill.unwrap_or(false) {
3832 let seconds = query.seconds.unwrap_or(30.0).clamp(1.0, 1800.0);
3833 run_bridge_action(state.clone(), move |bridge| {
3834 bridge.recent_logs(&udid, seconds, limit, &filters)
3835 })
3836 .await?
3837 } else {
3838 state.logs.ensure_started(&udid).await?;
3839 state.logs.snapshot(&udid, &filters, limit).await
3840 };
3841 Ok(json(json_value!({
3842 "entries": entries,
3843 })))
3844}
3845
3846#[derive(Clone, Copy)]
3847enum InAppHierarchySource {

Callers

nothing calls this directly

Calls 10

is_android_idFunction · 0.85
run_android_actionFunction · 0.85
jsonFunction · 0.85
split_filter_valuesFunction · 0.85
run_bridge_actionFunction · 0.85
logsMethod · 0.80
recent_logsMethod · 0.80
cloneMethod · 0.65
ensure_startedMethod · 0.45
snapshotMethod · 0.45

Tested by

no test coverage detected