我在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/
的日志文件,则跟踪将不再有效。
有没有办法删除日志文件内容而不影响跟踪过程?
答案 0 :(得分:0)
它实际上可以使用
sudo bash -c "> /var/tmp/rabbitmq-tracing/mylogs.log"
当我用gedit作为超级用户删除它时,为什么它不起作用。