在 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 删除它时它不起作用。
我在 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 删除它时它不起作用。