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

Usage
Add logcast and once_cell
cargo add logcast once_cell
Create Macro
This code defines a global, thread-safe TCP logger using a singleton (LOGGER) initialized lazily with once_cell::sync::Lazy.
// src/macros/log/mod.rs
use Logger;
use Lazy;
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.