tracing-better-stack 0.1.0

A tracing-subscriber layer for Better Stack (Logtail) logging
Documentation
# Run cargo fmt and clippy for both features
lint: fmt clippy

# Format the code
fmt:
    cargo fmt --all

# Run clippy for both features
clippy:
    @echo "Running clippy with MessagePack feature..."
    cargo clippy --all-targets --features message_pack -- -D warnings
    @echo "Running clippy with JSON feature..."
    cargo clippy --all-targets --no-default-features --features json -- -D warnings

# Run tests for both JSON and MessagePack features
test:
    @echo "Testing with MessagePack feature (default)..."
    cargo test --features message_pack
    @echo "Testing with JSON feature..."
    cargo test --no-default-features --features json

# Run tests for MessagePack only
test-msgpack:
    cargo test --features message_pack

# Run tests for JSON only  
test-json:
    cargo test --no-default-features --features json

# Build the project with both features
build:
    @echo "Building with MessagePack feature (default)..."
    cargo build --features message_pack
    @echo "Building with JSON feature..."
    cargo build --no-default-features --features json

# Build in release mode with both features
build-release:
    @echo "Building release with MessagePack feature..."
    cargo build --release --features message_pack
    @echo "Building release with JSON feature..."
    cargo build --release --no-default-features --features json

# Run all checks (format, lint, test, build)
check: fmt lint test build

# Clean build artifacts
clean:
    cargo clean

# Run examples (requires BETTER_STACK_TOKEN env var)
run-example example:
    cargo run --example {{example}}

# Build and test everything
ci: fmt-check lint test build-release

# Check if code is properly formatted (for CI)
fmt-check:
    cargo fmt --all -- --check

# Run tests with coverage for both features (requires cargo-tarpaulin)
coverage:
    @echo "Running coverage for MessagePack feature..."
    cargo tarpaulin --features message_pack --out Html --output-dir coverage-msgpack
    @echo "Running coverage for JSON feature..."
    cargo tarpaulin --no-default-features --features json --out Html --output-dir coverage-json

# Publish to crates.io (dry run)
publish-dry:
    cargo publish --dry-run

# Publish to crates.io
publish:
    cargo publish