#[non_exhaustive]pub struct Log {
pub session_id: String,
pub time: String,
pub level: LogLevel,
pub component: String,
pub description: String,
pub format: LogFormat,
}
Expand description
Re-exported main rlg
module from rlg for application logging.
The Log
struct provides an easy way to log a message to the
console. It contains a set of defined fields to create a simple,
log message with a readable output format.
§Arguments
session_id
- A string slice that holds a session ID. The session ID is a unique identifier for the current session. A random GUID (Globally Unique Identifier) is generated by default.time
- A string slice that holds the timestamp in ISO 8601 format.level
- A string slice that holds the level (INFO, WARN, ERROR, etc.).component
- A string slice that holds the component name.description
- A string slice that holds the description of the log message.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.session_id: String
A string that holds a session ID. The session ID is a unique identifier for the current session. A random GUID (Globally Unique Identifier) is generated by default.
time: String
A string that holds the timestamp in ISO 8601 format.
level: LogLevel
A string that holds the level (INFO, WARN, ERROR, etc.).
component: String
A string that holds the component name.
description: String
A string that holds the description of the log message.
format: LogFormat
A string that holds the log format.
Implementations§
Source§impl Log
impl Log
Sourcepub async fn log(&self) -> Result<(), Error>
pub async fn log(&self) -> Result<(), Error>
Logs a message asynchronously using a pre-allocated buffer to reduce memory allocation. The message is formatted according to the specified log format and then written to a file. Additionally, the message is printed to the standard output and the output buffer is flushed.
§Errors
Returns an io::Result<()>
indicating the outcome of the logging operation.
An error is returned if there’s an issue with string formatting or IO operations (file writing or flushing stdout).
Sourcepub fn new(
session_id: &str,
time: &str,
level: &LogLevel,
component: &str,
description: &str,
format: &LogFormat,
) -> Log
pub fn new( session_id: &str, time: &str, level: &LogLevel, component: &str, description: &str, format: &LogFormat, ) -> Log
Creates a new instance of the Log
struct with the provided
parameters.
§Parameters
component
: A string slice representing the component.description
: A string slice representing the log description.format
: A string slice representing the log format.level
: A string slice representing the log level.session_id
: A string slice representing the session ID.time
: A string slice representing the timestamp.
§Returns
A new instance of the Log
struct with the provided parameters.
Trait Implementations§
Source§impl Default for Log
This implementation allows the Log struct to be created with default
values. It creates a new instance of the Log struct with empty
strings for the session_id, time, component and description fields,
and LogLevel::INFO for level field. This is useful when creating a
new instance of the Log struct. It allows the struct to be created
with default values, and then the fields can be set to the desired
values.
impl Default for Log
This implementation allows the Log struct to be created with default values. It creates a new instance of the Log struct with empty strings for the session_id, time, component and description fields, and LogLevel::INFO for level field. This is useful when creating a new instance of the Log struct. It allows the struct to be created with default values, and then the fields can be set to the desired values.
Source§impl PartialOrd for Log
impl PartialOrd for Log
impl StructuralPartialEq for Log
Auto Trait Implementations§
impl Freeze for Log
impl RefUnwindSafe for Log
impl Send for Log
impl Sync for Log
impl Unpin for Log
impl UnwindSafe for Log
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.