在 RabbitMQ 中删除 firehose tracer 日志

Deleting firehose tracer logs in RabbitMQ

我在 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/ 的日志文件,跟踪将不再有效。

有没有办法在不影响跟踪过程的情况下删除日志文件内容?

它实际上可以使用

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

现在不知道为什么当我以超级用户身份使用 gedit 删除它时它不起作用。