旋转rabbitmq日志文件的最佳方法

时间:2011-06-13 17:04:37

标签: logging rabbitmq

我的兔子日志变得非常大,我想知道是否有更好的方法来控制旋转。我希望日志根据大小进行旋转,并且一次最多保留10个日志。到目前为止我发现的最好的是你可以通过将SERVER_START_ARGS="-kernel error_logger silent"放入rabbitmq.conf文件来关闭日志记录。有没有更好的办法?我想避免使用crontab。

4 个答案:

答案 0 :(得分:7)

您可以使用命令。

rabbitmqctl rotate_logs

它为我工作。 阅读http://www.rabbitmq.com/configure.html

的更多内容

希望它会对你有所帮助。

答案 1 :(得分:4)

最好的选择是将日志旋转逻辑放在rabbitmq.conf文件中,如下所示:

{log, [
        {file, [{file, "/var/log/rabbitmq/rabbitmq.log"}, %% log.file
                {level, info},        %% log.file.info
                {date, "$D0"},           %% log.file.rotation.date
                {size, 1024},            %% log.file.rotation.size
                {count, 15}            %% log.file.rotation.count
                ]}
    ]},

答案 2 :(得分:3)

最好的方法是升级到RabbitMQ 2.4.1。很多人仍在运行非常陈旧和过时的RabbitMQ软件,这些软件存在大容量日志问题。较新的版本处理得更好,它们还有一个管理插件(可访问Web)和更快的消息路由。

理想情况下,您首先升级到Erlang R14B02,然后升级RabbitMQ。

如果您要从源代码编译RabbitMQ,请跳过Erlang R14B03。

答案 3 :(得分:0)

我认为最好的方法是使用配置文件。我尝试了上述方法,但它们对我没有用。我使用了here中的以下配置,并且有效:

  {lager, [

    {handlers, [
      {lager_file_backend, [{file, "rabbit.log"},
                            {level, info},
                            {date, "$D0"},
                            {size, 10},
                            {count, 2}
    ]}]}
    ]},

您可以在此链接https://github.com/basho/lager

中找到有关日期,大小和计数的信息。