logcast
A simple helper that sends logs over TCP, for programs without terminal output, such as TUIs.
Example

Usage
See "log" example for example with integration with log crate
Add logcast
cargo add logcast
Create Macro
This code defines a global, thread-safe TCP logger using a singleton (LOGGER) initialized lazily.
// src/macros/log/mod.rs
use Logger;
use LazyLock;
pub static LOGGER: = new;
Import LOGGER
Import LOGGER in main.rs to allow the macro to access it from any module.
// src/main.rs
use LOGGER;
Import macro
use cratelog;
log!;
log!;
Output
To view the logs, open another terminal and run a program that listens for TCP connections, such as ncat -l --keep-open 8080, as shown in the example below.
└─$ ncat -l --keep-open 8080
[2025-11-10 20:55:04] Test
[2025-11-10 20:55:04] Service { name: "cron.service", description: "Regular background program processing daemon", state: ServiceState { load: "loaded", active: "active", sub: "running", file: "enabled" } }
📝 License
This project is open-source under the MIT License.