v2_logs_ListLogs/
v2_logs_ListLogs.rs1use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_logs::ListLogsOptionalParams;
4use datadog_api_client::datadogV2::api_logs::LogsAPI;
5use datadog_api_client::datadogV2::model::LogsListRequest;
6use datadog_api_client::datadogV2::model::LogsListRequestPage;
7use datadog_api_client::datadogV2::model::LogsQueryFilter;
8use datadog_api_client::datadogV2::model::LogsQueryOptions;
9use datadog_api_client::datadogV2::model::LogsSort;
10use datadog_api_client::datadogV2::model::LogsStorageTier;
11
12#[tokio::main]
13async fn main() {
14 let body =
15 LogsListRequest::new()
16 .filter(
17 LogsQueryFilter::new()
18 .from("now-15m".to_string())
19 .indexes(vec!["main".to_string(), "web".to_string()])
20 .query("service:web* AND @http.status_code:[200 TO 299]".to_string())
21 .storage_tier(LogsStorageTier::INDEXES)
22 .to("now".to_string()),
23 )
24 .options(LogsQueryOptions::new().timezone("GMT".to_string()))
25 .page(
26 LogsListRequestPage::new()
27 .cursor(
28 "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==".to_string(),
29 )
30 .limit(25),
31 )
32 .sort(LogsSort::TIMESTAMP_ASCENDING);
33 let configuration = datadog::Configuration::new();
34 let api = LogsAPI::with_config(configuration);
35 let resp = api
36 .list_logs(ListLogsOptionalParams::default().body(body))
37 .await;
38 if let Ok(value) = resp {
39 println!("{:#?}", value);
40 } else {
41 println!("{:#?}", resp.unwrap_err());
42 }
43}