1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
// Copyright 2020 Tetrate // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. //! `Envoy` `Log API`. //! //! # Examples //! //! #### Basic usage of `Envoy` `Log API`: //! //! ``` //! # use envoy_sdk as envoy; //! use envoy::host::log; //! //! log::error!("logging a message through `Envoy Log API` at {} level", "error"); //! log::info!("logging a message through `Envoy Log API` at {} level", "info"); //! log::debug!("logging a message through `Envoy Log API` at {} level", "debug"); //! ``` //! //! #### Usage of `Envoy` `Log API` in a HTTP Filter: //! //! ``` //! # use envoy_sdk as envoy; //! use envoy::extension::{HttpFilter, Result}; //! use envoy::extension::filter::http::{FilterHeadersStatus, RequestHeadersOps}; //! use envoy::host::log; //! //! struct MyHttpFilter; //! //! impl HttpFilter for MyHttpFilter { //! fn on_request_headers(&mut self, num_headers: usize, _end_of_stream: bool, ops: &dyn RequestHeadersOps) -> Result<FilterHeadersStatus> { //! log::info!("HTTP request contains {} headers", num_headers); //! Ok(FilterHeadersStatus::Continue) //! } //! } //! ``` pub use crate::abi::proxy_wasm::types::LogLevel; #[cfg(feature = "log")] pub use log::{debug, error, info, trace, warn}; /// Sets the global maximum log level. /// /// # Examples /// /// ``` /// # use envoy_sdk as envoy; /// use envoy::host::log::{self, LogLevel}; /// /// // change max log level (by default, `LogLevel::Info`) /// log::set_max_level(LogLevel::Debug); /// ``` #[cfg(feature = "log")] pub use crate::abi::proxy_wasm::set_log_level as set_max_level;