https://github.com/erning/zmqcat
Simple tool to publish text file line by line
https://github.com/erning/zmqcat
Last synced: about 1 month ago
JSON representation
Simple tool to publish text file line by line
- Host: GitHub
- URL: https://github.com/erning/zmqcat
- Owner: erning
- Created: 2012-11-05T01:19:38.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2013-01-06T03:54:41.000Z (over 13 years ago)
- Last Synced: 2023-03-11T05:29:41.639Z (over 3 years ago)
- Language: C
- Homepage:
- Size: 99.6 KB
- Stars: 2
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# zmqcat
一个将标准输入以ZMQ广播方式广播的工具。这样可以将日志文件通过ZMQ广播出去。
例如将syslog通过5678端口广播,可以通过以下命令
```sh
$ tail -F /var/log/syslog | zmqcat "tcp://*:5678"
```
然后再写一个接收程序处理这些信息。下面示例的python程序简单地将收到的信息输出。
```python
import zmq
context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.connect("tcp://127.0.0.1:5678")
socket.setsockopt(zmq.SUBSCRIBE, "")
while True:
s = socket.recv()
print s,
```
有的时候,日志文件非常大,我们希望能够直接处理这些日志,而不需要写入硬盘后再从硬盘中读出处理。
例如xdebug的输出只能定义到文件,而且输出量特别大。我们可以在xdebug中配置,将输出文件指定到一个FIFO设备(例如xdebug.fifo),并且通过zmqcat广播。
```sh
$ mkfifo xdebug.fifo
$ tail -F xdebug.fifo | zmqcat
```
注意:当没有进程读取这个FIFO文件时,xdebug的日志写入操作将被block。