pub struct LoggerConfig {Show 13 fields
pub stdout_level: LevelFilter,
pub fileout_level: LevelFilter,
pub component_level: AHashMap<Ustr, LevelFilter>,
pub module_level: AHashMap<Ustr, LevelFilter>,
pub log_components_only: bool,
pub is_colored: bool,
pub print_config: bool,
pub use_tracing: bool,
pub bypass_logging: bool,
pub file_config: Option<FileWriterConfig>,
pub clear_log_file: bool,
pub fileout_sync_on_flush: bool,
pub buffered_stdout: bool,
}Expand description
Configuration for the Nautilus logger.
Fields§
§stdout_level: LevelFilterMaximum log level for stdout output.
fileout_level: LevelFilterMaximum log level for file output (Off disables file logging).
component_level: AHashMap<Ustr, LevelFilter>Per-component log level overrides (exact match).
module_level: AHashMap<Ustr, LevelFilter>Per-module path log level overrides (prefix match).
log_components_only: boolLog only components with explicit level filters.
is_colored: boolUse ANSI color codes in output.
print_config: boolPrint configuration to stdout at startup.
use_tracing: boolInitialize the tracing subscriber for external Rust crate logs.
bypass_logging: boolIf all logging should be bypassed.
file_config: Option<FileWriterConfig>File writer configuration for log file output.
clear_log_file: boolIf the log file should be cleared before use.
fileout_sync_on_flush: boolIf file log flushes should also sync data to disk.
buffered_stdout: boolIf stdout writes should be buffered until flush or buffer capacity.
Implementations§
Source§impl LoggerConfig
impl LoggerConfig
Sourcepub fn builder() -> LoggerConfigBuilder
pub fn builder() -> LoggerConfigBuilder
Create an instance of LoggerConfig using the builder syntax
Source§impl LoggerConfig
impl LoggerConfig
Sourcepub fn new(
stdout_level: LevelFilter,
fileout_level: LevelFilter,
component_level: AHashMap<Ustr, LevelFilter>,
module_level: AHashMap<Ustr, LevelFilter>,
log_components_only: bool,
is_colored: bool,
print_config: bool,
use_tracing: bool,
bypass_logging: bool,
file_config: Option<FileWriterConfig>,
clear_log_file: bool,
) -> Self
pub fn new( stdout_level: LevelFilter, fileout_level: LevelFilter, component_level: AHashMap<Ustr, LevelFilter>, module_level: AHashMap<Ustr, LevelFilter>, log_components_only: bool, is_colored: bool, print_config: bool, use_tracing: bool, bypass_logging: bool, file_config: Option<FileWriterConfig>, clear_log_file: bool, ) -> Self
Creates a new LoggerConfig instance.
Sourcepub fn validate(&self) -> ConfigResult<()>
pub fn validate(&self) -> ConfigResult<()>
Validates the logger configuration.
§Errors
Returns a ConfigError if the file writer configuration
is invalid (see FileWriterConfig::validate).
Source§impl LoggerConfig
impl LoggerConfig
Sourcepub fn py_from_spec(spec: &str) -> PyResult<Self>
pub fn py_from_spec(spec: &str) -> PyResult<Self>
Trait Implementations§
Source§impl Clone for LoggerConfig
impl Clone for LoggerConfig
Source§fn clone(&self) -> LoggerConfig
fn clone(&self) -> LoggerConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LoggerConfig
impl Debug for LoggerConfig
Source§impl Default for LoggerConfig
impl Default for LoggerConfig
impl DerefToPyAny for LoggerConfig
Source§impl<'de> Deserialize<'de> for LoggerConfigwhere
LoggerConfig: Default,
impl<'de> Deserialize<'de> for LoggerConfigwhere
LoggerConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for LoggerConfig
Source§impl<'a, 'py> FromPyObject<'a, 'py> for LoggerConfigwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for LoggerConfigwhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for LoggerConfig
impl<'py> IntoPyObject<'py> for LoggerConfig
Source§type Target = LoggerConfig
type Target = LoggerConfig
Source§type Output = Bound<'py, <LoggerConfig as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <LoggerConfig as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PartialEq for LoggerConfig
impl PartialEq for LoggerConfig
Source§fn eq(&self, other: &LoggerConfig) -> bool
fn eq(&self, other: &LoggerConfig) -> bool
self and other values to be equal, and is used by ==.Source§impl PyClass for LoggerConfig
impl PyClass for LoggerConfig
Source§impl PyClassImpl for LoggerConfig
impl PyClassImpl for LoggerConfig
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = /// Configuration for the Nautilus logger.
const RAW_DOC: &'static CStr = /// Configuration for the Nautilus logger.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type Layout = <<LoggerConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<LoggerConfig>
type Layout = <<LoggerConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<LoggerConfig>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForLoggerConfig
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
§fn dict_offset() -> Option<PyObjectOffset>
fn dict_offset() -> Option<PyObjectOffset>
§fn weaklist_offset() -> Option<PyObjectOffset>
fn weaklist_offset() -> Option<PyObjectOffset>
Source§impl PyClassNewTextSignature for LoggerConfig
impl PyClassNewTextSignature for LoggerConfig
const TEXT_SIGNATURE: &'static str = "(stdout_level=None, fileout_level=None, component_levels=None, is_colored=None, print_config=None, bypass_logging=None, log_components_only=None, file_config=None, clear_log_file=None, fileout_sync_on_flush=None, buffered_stdout=None)"
Source§impl PyStubType for LoggerConfig
impl PyStubType for LoggerConfig
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
Source§impl PyTypeInfo for LoggerConfig
impl PyTypeInfo for LoggerConfig
Source§const NAME: &str = <Self as ::pyo3::PyClass>::NAME
const NAME: &str = <Self as ::pyo3::PyClass>::NAME
prefer using ::type_object(py).name() to get the correct runtime value
Source§const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
prefer using ::type_object(py).module() to get the correct runtime value
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.Source§impl Serialize for LoggerConfig
impl Serialize for LoggerConfig
impl StructuralPartialEq for LoggerConfig
Auto Trait Implementations§
impl Freeze for LoggerConfig
impl RefUnwindSafe for LoggerConfig
impl Send for LoggerConfig
impl Sync for LoggerConfig
impl Unpin for LoggerConfig
impl UnsafeUnpin for LoggerConfig
impl UnwindSafe for LoggerConfig
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
impl<'py, T> FromPyObjectOwned<'py> for Twhere
T: for<'a> FromPyObject<'a, 'py>,
§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>
§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read more§impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
§fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
isinstance and issubclass function. Read more