https://github.com/fakelog/fastrace-betterstack
https://github.com/fakelog/fastrace-betterstack
fastrace logging
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/fakelog/fastrace-betterstack
- Owner: fakelog
- License: mit
- Created: 2025-04-10T20:00:58.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-10T20:23:53.000Z (about 1 year ago)
- Last Synced: 2025-04-10T21:30:23.480Z (about 1 year ago)
- Topics: fastrace, logging
- Language: Rust
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Installation
```toml
[dependencies]
fastrace = { version = "0.7", features = ["enable"] }
fastrace-betterstack.git = "https://github.com/fakelog/fastrace-betterstack.git"
log = "0.4"
logforth = { version = "0.24", features = ["fastrace"] }
```
## Usage
```rust
use fastrace::{Span, collector::Config, prelude::SpanContext};
use fastrace_betterstack::BetterstackReporter;
use log::error;
use logforth::append;
fn main() {
// Initialize Betterstack reporter with your endpoint and token
let reporter = BetterstackReporter::new(
"https://your-betterstack-endpoint.com", // Replace with your Betterstack URL
"your-betterstack-token", // Replace with your Betterstack token
);
// Configure logging
logforth::builder()
.dispatch(|d| {
d.filter(log::LevelFilter::Debug)
.append(append::FastraceEvent::default())
.append(append::Stderr::default())
})
.apply();
// Set the reporter for Fastrace
fastrace::set_reporter(reporter, Config::default());
// Create spans and log events
{
let parent = SpanContext::random();
let root = Span::root("root", parent);
let _span_guard = root.set_local_parent();
error!("test error message"); // This will be sent to Betterstack
}
// Ensure all events are flushed before exiting
fastrace::flush();
}
```