在RabbitMQ中删除firehose跟踪器日志

时间:2016-07-18 13:26:58

标签: java http logging rabbitmq message-queue

我在RabbitMQ中使用firehose跟踪器。

对于这个例子,我有一个名为Calculator的队列绑定到头交换。

要使用Java客户端读取日志,我使用HTTP API使用以下代码读取日志文件:

URL url = new URL("http://127.0.0.1:15672/api/trace-files/calculator.log");

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setRequestMethod("GET");

String userpass = "guest" + ":" + "guest";
String basicAuth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes());

connection.setRequestProperty("Authorization", basicAuth);
connection.connect();

BufferedReader buff = new BufferedReader(new InputStreamReader(connection.getInputStream()));

问题是,我想在阅读后立即删除日志。 如果我删除位于/var/tmp/rabbitmq/的日志文件,则跟踪将不再有效。

有没有办法删除日志文件内容而不影响跟踪过程?

1 个答案:

答案 0 :(得分:0)

它实际上可以使用

sudo bash -c "> /var/tmp/rabbitmq-tracing/mylogs.log"

当我用gedit作为超级用户删除它时,为什么它不起作用。