3 个不稳定版本

0.2.1 2022年5月10日
0.2.0 2022年4月25日
0.1.0 2022年4月22日

命令行工具 中排名 2252

MIT 许可证

36KB
624

Latest Version License

与 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