| Crates.io | slack-log |
| lib.rs | slack-log |
| version | 2.1.0 |
| created_at | 2025-07-31 11:31:41.775434+00 |
| updated_at | 2025-08-04 11:14:59.442236+00 |
| description | Slack log for sending plain and block messages using Slack webhook |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1774936 |
| size | 59,523 |
A lightweight async logger for sending structured and text-based logs to Slack from your Rust applications.
slack.log, slack.success, slack.error_block-style APItokio::spawnAdd to your Cargo.toml:
[dependencies]
slack_log = "2.0.0"
or install binary crate (if CLI exposed):
cargo install slack-log
Initialize once before any logging:
use slack_log::{slack_log_initialize, SlackConfig};
slack_log_initialize(SlackConfig {
webhook_url: "https://hooks.slack.com/services/...",
debugger: true,
});
use slack_log::slack;
use serde_json::json;
slack.log("App started successfully");
slack.warn("High memory usage");
slack.success(true);
slack.error(json!({ "event": "shutdown", "reason": "manual" }));
let data = json!([{ "a": 1 }, { "b": 2 }]);
slack.log(serde_json::to_string_pretty(&data).unwrap());
use slack_log::{slack, block_fields};
use serde_json::json;
let fields = block_fields![
{ title: "Service", value: "UI Indexer" },
{ title: "Price", value: 50000 },
{ title: "Boolean", value: false },
{ title: "Time", value: chrono::Utc::now().to_string() },
{ title: "JSON", value: json!([{ "a": 1 }, { "b": 2 }]) }
];
slack.block("Deployment Success", &fields);
slack.success_block("Deployment Success", &fields);
slack.error_block("Startup Error", &fields);
slack.info_block("Service Info", &fields);
slack.warn_block("Warning Signal", &fields);
use slack_log::{slack, BlockField};
use serde_json::json;
let fields = vec![
BlockField::new("Service", "UI Indexer"),
BlockField::new("Price", 50000),
BlockField::new("Boolean", false),
BlockField::new("Time", chrono::Utc::now().to_string()),
BlockField::new("JSON", json!([{ "a": 1 }, { "b": 2 }])),
];
slack.block("Deployment Success", &fields);
slack.success_block("Deployment Success", &fields);
slack.error_block("Startup Error", &fields);
slack.info_block("Service Info", &fields);
slack.warn_block("Warning Signal", &fields);
use slack_log::BlockField;
let fields = vec![
BlockField::new("Key", "Value"),
BlockField::new("Count", 123)
];
MIT OR Apache-2.0