pub struct BacktracePrinter { /* private fields */ }Expand description
Pretty-printer for backtraces and PanicInfo structs.
Implementations§
Source§impl BacktracePrinter
Builder functions.
impl BacktracePrinter
Builder functions.
Sourcepub fn new() -> Self
pub fn new() -> Self
Alias for BacktracePrinter::default.
Examples found in repository?
More examples
Sourcepub fn color_scheme(self, colors: ColorScheme) -> Self
pub fn color_scheme(self, colors: ColorScheme) -> Self
Alter the color scheme.
Defaults to ColorScheme::classic().
Sourcepub fn message(self, message: impl Into<String>) -> Self
pub fn message(self, message: impl Into<String>) -> Self
Controls the “greeting” message of the panic.
Defaults to "The application panicked (crashed)".
Sourcepub fn verbosity(self, v: Verbosity) -> Self
pub fn verbosity(self, v: Verbosity) -> Self
Controls the verbosity level used when installed as panic handler.
Defaults to Verbosity::from_env().
Sourcepub fn lib_verbosity(self, v: Verbosity) -> Self
pub fn lib_verbosity(self, v: Verbosity) -> Self
Controls the lib verbosity level used when formatting user provided traces.
Defaults to Verbosity::lib_from_env().
Sourcepub fn strip_function_hash(self, strip: bool) -> Self
pub fn strip_function_hash(self, strip: bool) -> Self
Controls whether the hash part of functions is stripped.
Defaults to false.
Sourcepub fn print_addresses(self, val: bool) -> Self
pub fn print_addresses(self, val: bool) -> Self
Controls whether addresses (or module offsets if available) should be printed.
Defaults to false.
Sourcepub fn add_frame_filter(self, filter: Box<FilterCallback>) -> Self
pub fn add_frame_filter(self, filter: Box<FilterCallback>) -> Self
Add a custom filter to the set of frame filters
Filters are run in the order they are added.
§Example
use color_backtrace::{default_output_stream, BacktracePrinter};
BacktracePrinter::new()
.add_frame_filter(Box::new(|frames| {
frames.retain(|x| matches!(&x.name, Some(n) if !n.starts_with("blabla")))
}))
.install(default_output_stream());Sourcepub fn clear_frame_filters(self) -> Self
pub fn clear_frame_filters(self) -> Self
Clears all filters associated with this printer, including the default filter
Sourcepub fn dependency_predicate(
self,
is_dependency: Box<IsDependencyCallback>,
) -> Self
pub fn dependency_predicate( self, is_dependency: Box<IsDependencyCallback>, ) -> Self
Sets the predicate that determines whether a frame is considered a dependency or not.
Source§impl BacktracePrinter
Routines for putting the panic printer to use.
impl BacktracePrinter
Routines for putting the panic printer to use.
Sourcepub fn install(self, out: impl WriteColor + Sync + Send + 'static)
pub fn install(self, out: impl WriteColor + Sync + Send + 'static)
Install the color_backtrace handler with default settings.
Output streams can be created via default_output_stream() or
using any other stream that implements termcolor::WriteColor.
Examples found in repository?
More examples
Sourcepub fn into_panic_handler(
self,
out: impl WriteColor + Sync + Send + 'static,
) -> Box<dyn Fn(&PanicInfo<'_>) + Sync + Send + 'static>
pub fn into_panic_handler( self, out: impl WriteColor + Sync + Send + 'static, ) -> Box<dyn Fn(&PanicInfo<'_>) + Sync + Send + 'static>
Create a color_backtrace panic handler from this panic printer.
This can be used if you want to combine the handler with other handlers.
Sourcepub fn print_trace(
&self,
trace: &dyn Backtrace,
out: &mut impl WriteColor,
) -> Result<(), Error>
pub fn print_trace( &self, trace: &dyn Backtrace, out: &mut impl WriteColor, ) -> Result<(), Error>
Pretty-prints a backtrace::Backtrace to an output stream.
Sourcepub fn format_trace_to_string(
&self,
trace: &dyn Backtrace,
) -> Result<String, Error>
pub fn format_trace_to_string( &self, trace: &dyn Backtrace, ) -> Result<String, Error>
Pretty-print a backtrace to a String, using VT100 color codes.
Examples found in repository?
3fn main() -> Result<(), std::io::Error> {
4 let trace = backtrace::Backtrace::new();
5 let printer = BacktracePrinter::default();
6 let str = printer.format_trace_to_string(&trace)?;
7
8 if cfg!(windows) {
9 println!(
10 "Warning: on Windows, you'll have to enable VT100 \
11 printing for your app in order for this to work \
12 correctly. This example doesn't do this."
13 );
14 }
15
16 println!("{}", str);
17
18 Ok(())
19}Sourcepub fn print_panic_info(
&self,
pi: &PanicInfo<'_>,
out: &mut impl WriteColor,
) -> Result<(), Error>
pub fn print_panic_info( &self, pi: &PanicInfo<'_>, out: &mut impl WriteColor, ) -> Result<(), Error>
Pretty-prints a PanicInfo struct to an output stream.
Trait Implementations§
Source§impl Clone for BacktracePrinter
impl Clone for BacktracePrinter
Source§fn clone(&self) -> BacktracePrinter
fn clone(&self) -> BacktracePrinter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more