blob: cb54c8a9f08bd8be2ea523a53c0deb41f1485c40 [file] [log] [blame] [view]
# Syslog
This document explains how to use rust syslogger library.
## BUILD.gn dependency
```gn
"//src/lib/syslog/rust:syslog"
```
### Initialization
Logger can only be initialized once.
#### Basic initialization
```rust
use fuchsia_syslog as syslog;
fn main() {
syslog::init().expect("should not fail");
}
```
#### Initialization with tags
```rust
use fuchsia_syslog as syslog;
fn main() {
syslog::init_with_tags(&["my_tags"]).expect("should not fail");
}
```
### Log messages
```rust
use fuchsia_syslog::{fx_log_info, fx_log_warn, fx_log_err, fx_vlog};
// alternate export for all the logging macros:
// use fuchsia_syslog::{macros::*}
fx_log_info!("my msg: {}", 10);
fx_log_info!(tag: "tag", "my msg: {}", 10);
fx_log_err!("my msg: {}", 10);
fx_log_err!(tag: "tag", "my msg: {}", 10);
fx_log_warn!("my msg: {}", 10);
fx_log_warn!(tag: "tag", "my msg: {}", 10);
fx_vlog!(1, "my msg: {}", 10); // verbose logs
fx_vlog!(tag: "tag", 1, "my msg: {}", 10); // verbose logs
```
This can also be used with rust [log crate](https://docs.rs/log/)
```rust
info!("my msg: {}", 10);
warn!("my msg: {}", 10);
error!("my msg: {}", 10);
```
### Reference
[Rust APIs](/src/lib/syslog/rust/src/lib.rs)