【问题标题】:Deleting firehose tracer logs in RabbitMQ在 RabbitMQ 中删除 firehose 跟踪器日志
【发布时间】:2016-07-20 19:13:24
【问题描述】:

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

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

【问题讨论】:

    标签: java http logging rabbitmq message-queue


    【解决方案1】:

    它实际上可以使用

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

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

    【讨论】:

    • 您的 bash 命令会截断文件(删除所有文件内容),而不是实际删除文件。该文件在命令后仍然存在,但长度为 0 字节。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    相关资源
    最近更新 更多