如何使用 glog(github.com/golang/glog) 拆分日志文件

How to split log file in using glog(github.com/golang/glog)

因为我的服务器可能运行时间长了,日志文件会太大large.Is有什么办法可以根据大小或者时间来切割日志吗?

由于您担心日志文件很大,请尝试条件日志记录或偶尔日志记录 您可以使用以下宏来执行条件日志记录:

LOG_IF(INFO, num_cookies > 10) << "Got lots of cookies";

仅当变量 num_cookies 超过 10 时才记录“获得大量 cookie”消息。如果多次执行一行代码,仅在特定时间间隔记录一条消息可能很有用。这种日志记录对于信息性消息最有用。

LOG_EVERY_N(INFO, 10) << "Got the " << google::COUNTER << "th cookie";

以上行在第 1、11、21、... 次执行时输出日志消息。请注意,特殊的 google::COUNTER 值用于标识正在发生的重复。

您可以将条件日志记录和偶尔日志记录与以下宏结合使用。

LOG_IF_EVERY_N(INFO, (size > 1024), 10) << "Got the " << google::COUNTER
                                           << "th big cookie";

除了每第 n 次输出一条消息,您还可以将输出限制为前 n 次出现:

LOG_FIRST_N(INFO, 20) << "Got the " << google::COUNTER << "th cookie";

输出前 20 次执行的日志消息。同样,google::COUNTER 标识符指示正在发生的重复。

您可以查看 here 了解更多信息

现在我找到了一种拆分日志的方法。 使用第三方库。(例如:https://github.com/natefinch/lumberjack