4个版本
0.1.3 | 2024年7月17日 |
---|---|
0.1.2 | 2024年7月17日 |
0.1.1 | 2024年7月17日 |
0.1.0 | 2024年7月17日 |
#60 在 Windows API
每月下载 275 次
10KB
183 代码行
tracing-layer-win-eventlog
用于将tracing_subscriber写入Windows EventLog的层
使用方法
如果Windows EventLog尚未存在,则必须先创建。
# PowerShell v5.1 running as Administrator
New-EventLog -LogName Application -Source hello_world
use tracing_subscriber::{layer::SubscriberExt as _, util::SubscriberInitExt as _};
fn main() {
println!("Hello, world!");
let eventlog = tracing_layer_win_eventlog::EventLogLayer::new("hello_world".to_owned());
tracing_subscriber::registry()
.with(eventlog)
.init();
tracing::info!(id = 40, "hello world!");
}
id
是可选的,用作Windows EventID,必须是unsigned
。如果没有提供id
,则使用tracing::Level
作为EventID。
父级跨度列表位于source
键中的消息上方。如果有多个父级跨度,它们将使用/
分隔符连接。
所有其他传递的对象都以下面消息中的key: value
对的形式写入。
示例
#[tracing::instrument]
fn windows() {
let path = "C:\\Windows";
tracing::debug!(id=2,?path,"currently in windir");
}
上述示例将按以下方式写入EventLog
ID: 2
source: windows
message: currently in windir
path: "\"C:\\Windows\""
依赖关系
~1.2–1.7MB
~24K SLoC