pub struct SlsLoggerPlugin {
sink: BatchSink,
log_format: Option<HashMap<String, Value>>,
include_req_body: bool,
include_resp_body: bool,
}Expand description
Node that batches access-log entries and ships them to Alibaba Cloud SLS.
Fields§
§sink: BatchSink§log_format: Option<HashMap<String, Value>>§include_req_body: bool§include_resp_body: boolImplementations§
Source§impl SlsLoggerPlugin
impl SlsLoggerPlugin
Sourcepub fn from_config(
config: &HashMap<String, Value>,
resources: &Arc<PluginResources>,
) -> Result<Self, String>
pub fn from_config( config: &HashMap<String, Value>, resources: &Arc<PluginResources>, ) -> Result<Self, String>
Builds the plugin from node config.
Accepted keys (all of host/port/project/logstore/
access_key_id/access_key_secret are required):
host(string): SLS endpoint, e.g.cn-hangzhou.log.aliyuncs.com.port(integer): endpoint port, e.g.443.project(string): SLS project; prefixed tohostas the request authority<project>.<host>.logstore(string): destination logstore.access_key_id/access_key_secret(strings): RAM credentials used to sign each request.timeout(integer ms, default5000): per-flush HTTP deadline.include_req_body/include_resp_body(bool, defaultfalse).log_format(object, optional): custom flat entry.- Batch tuning (see
BatchConfig).
type: sls-logger
config:
host: cn-hangzhou.log.aliyuncs.com
port: 443
project: my-project
logstore: gateway
access_key_id: ${SLS_KEY_ID}
access_key_secret: ${SLS_KEY_SECRET}Trait Implementations§
Source§impl Plugin for SlsLoggerPlugin
impl Plugin for SlsLoggerPlugin
Source§fn plugin_type(&self) -> &str
fn plugin_type(&self) -> &str
Unique identifier for the plugin type (e.g., “proxy-rewrite”, “upstream”).
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: Context,
_named_inputs: &'life1 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = Result<PluginOutput, PluginExecutionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: Context,
_named_inputs: &'life1 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = Result<PluginOutput, PluginExecutionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Executes the plugin logic against the request/response context. Read more
Auto Trait Implementations§
impl Freeze for SlsLoggerPlugin
impl RefUnwindSafe for SlsLoggerPlugin
impl Send for SlsLoggerPlugin
impl Sync for SlsLoggerPlugin
impl Unpin for SlsLoggerPlugin
impl UnsafeUnpin for SlsLoggerPlugin
impl UnwindSafe for SlsLoggerPlugin
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more