3 个不稳定版本
0.2.1 | 2022年5月10日 |
---|---|
0.2.0 | 2022年4月25日 |
0.1.0 | 2022年4月22日 |
在 命令行工具 中排名 2252
36KB
624 行
与 UNIX syslog 交互的命令行工具。
syslog-unix
从 UNIX 域数据报套接字读取 syslog 消息并将其格式化为标准输出。
功能
- 从 syslog 生成人类友好的日志消息。
- 生成适合转发到远程日志服务器的 syslog 消息。
- 从消息末尾删除换行符。
- 将换行符替换为
#012
(可配置),以便在使用syslog
输出格式时保留消息边界。 - 可选地使用 RFC3339(带微秒)时间戳格式与
syslog
输出格式一起使用。 - 可配置最大消息长度。
- 可选地读取前缀于 syslog 数据报的消息时间戳(请参阅 socktee
-T
标志)。
示例用法
从 syslog 套接字读取消息并以人类可读的格式打印它们
umask 0000
syslog-unix /dev/log human
打印的消息如下
user.notice: 2022-04-22 15:10:26.566281 someuser: hello world
从 syslog 套接字读取消息并以适合转发到 syslog 服务器的格式打印它们
umask 0000
syslog-unix /dev/log syslog
打印的消息如下
<13>Apr 22 15:58:03 somehost someuser: hello world
syslog-logger
从标准输入读取日志消息并以 syslog 格式将其格式化为 UNIX 域套接字。
示例用法
记录单条消息
syslog-logger $USER "hello world"
将标准输入的每一行记录为单独的消息
ls | syslog-logger ls
将标准输入记录为单条消息
fortune | syslog-logger -1 fortune
syslog-mlogger
从标准输入读取日志消息并以 syslog 格式将其格式化为 UNIX 域套接字,同时将跨越多行的日志消息重构为一条消息。
示例用法
syslog-mlogger java-app '^\s+' --negate --strip-pattern <<EOF
Exception in thread "main" java.lang.NullPointerException
at com.example.myproject.Book.getTitle(Book.java:16)
at com.example.myproject.Author.getBookTitles(Author.java:25)
at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
Exception in thread "main" java.lang.NullPointerException
at com.example.myproject.Book.getTitle(Book.java:16)
at com.example.myproject.Author.getBookTitles(Author.java:25)
at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
Hello world!
Exception in thread "main" java.lang.NullPointerException
at com.example.myproject.Book.getTitle(Book.java:16)
at com.example.myproject.Author.getBookTitles(Author.java:25)
at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
EOF
该示例命令将记录 4 条 syslog 消息
<13>Apr 22 15:02:30 java-app: Exception in thread "main" java.lang.NullPointerException
at com.example.myproject.Book.getTitle(Book.java:16)
at com.example.myproject.Author.getBookTitles(Author.java:25)
at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
<13>Apr 22 15:02:30 java-app: Exception in thread "main" java.lang.NullPointerException
at com.example.myproject.Book.getTitle(Book.java:16)
at com.example.myproject.Author.getBookTitles(Author.java:25)
at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
<13>Apr 22 15:02:30 java-app: Hello world!
<13>Apr 22 15:02:30 java-app: Exception in thread "main" java.lang.NullPointerException
at com.example.myproject.Book.getTitle(Book.java:16)
at com.example.myproject.Author.getBookTitles(Author.java:25)
at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
安装
使用您的软件包管理器安装 cargo
工具。
安装 cargo
工具后,二进制文件将位于 ~/.cargo/bin
。
从 crates.io
cargo install syslogio
从源码
使用 Git 克隆源代码仓库。
在源代码目录中运行
cargo install --path . --force
依赖关系
~9–19MB
~254K SLoC