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
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: &Backtrace,
out: &mut impl WriteColor,
) -> Result<(), Error>
pub fn print_trace( &self, trace: &Backtrace, out: &mut impl WriteColor, ) -> Result<(), Error>
Pretty-prints a backtrace::Backtrace
to an output stream.
Sourcepub fn format_trace_to_string(&self, trace: &Backtrace) -> Result<String, Error>
pub fn format_trace_to_string(&self, trace: &Backtrace) -> Result<String, Error>
Pretty-print a backtrace to a String
, using VT100 color codes.
Examples found in repository?
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
fn main() -> Result<(), std::io::Error> {
let trace = backtrace::Backtrace::new();
let printer = BacktracePrinter::default();
let str = printer.format_trace_to_string(&trace)?;
if cfg!(windows) {
println!(
"Warning: on Windows, you'll have to enable VT100 \
printing for your app in order for this to work \
correctly. This example doesn't do this."
);
}
println!("{}", str);
Ok(())
}
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