微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

date-filter date-filter参数说明使用范例 日志内容按日期筛选工具

程序名称:date-filter date-filter参数说明使用范例

授权协议: MIT

操作系统: 跨平台

开发语言: Google Go

date-filter date-filter参数说明使用范例 介绍

date-filter

用于筛选当前时间到之前指定的范围内的日志内容的小工具,支持PHP查询日志等多行日志文件的筛选。

tail -n 20000 /var/log/Nginx/access.log \
     | date-filter -layout '2006-01-02 15:04:05' -offset 1 -valid-time 1m

上例中会输出发生时间在当前时间1分钟以内的日志。

参数说明

日期格式使用Go语言标准的日期时间表示方法

例如

  • -layout '2006-01-02 15:04:05'

    [2017-01-20 10:27:17] production.DEBUG: request-consuming: 370.5661 ms [] {"process_id":10412}
    
  • -layout '2006-01-02T15:04:05'

    time[2017-01-20T10:25:54+08:00] ip[125.84.236.232] ...
    
  • -layout '02-Jan-2006 15:04:05'

    [20-Jan-2017 10:24:20]  [pool www] pid 10409
    

目前只支持固定时间偏移位置的方式获取时间。offset指定了日期时间在每一行中的开始位置,date- filter将会从offset位置开始,截取layout长度的内容作为当前行的时间。

只有在当前时间前valid-time时间范围内的行会被输出。时间单位支持ns, us (or µs), ms, s, m,
h。比如 300ms,1.5h,2h45m。

使用范例

LOG_FILE=/directory/log/xxx.log
tail -n 20000 $LOG_FILE | date-filter -layout '2006-01-02 15:04:05' -offset 1 -valid-time 1m | awk -v log_file=$LOG_FILE  '{ printf "%s %s\n", log_file, $0 }' | dos2unix

date-filter date-filter参数说明使用范例 官网

https://github.com/mylxsw/date-filter

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐