我正在使用Amazon CloudWatch Log Agent(AWS documentation)将日志从我的EC2实例上传到CloudWatch控制台。
对于我在EC2上的CloudWatch Log Agent配置,我有以下内容:
[general]
state_file = /var/awslogs/state/agent-state
[applog]
file = /var/www/html/logs/applog.log
log_group_name = MyApp
log_stream_name = applog.log
datetime_format = %Y-%m-%d %H:%M:%S
我的问题是,如何让applog.log每天轮换?在AWS文档(上面的链接)中,它提到能够配置日志轮换策略,但我找不到任何提及/示例如何实际执行此操作。我已尝试将log_stream_name指定为 applog_%Y-%m-%d.log ,但它会按字面解释。
任何正确方向的想法或指示都会非常受欢迎 - 谢谢!
答案 0 :(得分:4)
我认为没有办法使用亚马逊的CloudWatch Log Agent轮换log_stream_name
。文档中描述的日志轮换与摄取由系统轮换的日志文件有关,CloudWatch Log Agent本身不执行任何日志轮换。
根据the documentation,log_stream_name
属性中允许的唯一变量为{instance_id}
,{hostname}
和{ip_address}
答案 1 :(得分:1)
我认为您要的是日志到期。至少那是我一直在寻找的东西。这是在一定时间后使日志过期的方法:
答案 2 :(得分:0)
根据Agent文档,日志文件名可以包含通配符。
文件可以指向一个或多个文件(使用通配符) 例如/var/log/system.log*)。仅将最新文件推送到 基于文件修改时间的CloudWatch Logs。
因此,您只需开始写入与您的模式匹配的新文件,一切就可以了。