解析Apache访问日志
项目描述
GitHub | PyPI | 文档 | 问题 | 变更日志
apachelogs 解析Apache访问日志文件。传入一个 日志格式字符串 并获取该格式日志条目的解析器。 apachelogs 还负责解码转义序列,并将时间戳、整数和连字符转换为 datetime 值、int 和 None。
安装
apachelogs 需要 Python 3.5 或更高版本。只需使用 Python 3 的 pip 安装 apachelogs 及其依赖项
python3 -m pip install apachelogs
示例
解析单个日志条目
>>> from apachelogs import LogParser >>> parser = LogParser("%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"") >>> # The above log format is also available as the constant `apachelogs.COMBINED`. >>> entry = parser.parse('209.126.136.4 - - [01/Nov/2017:07:28:29 +0000] "GET / HTTP/1.1" 301 521 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"\n') >>> entry.remote_host '209.126.136.4' >>> entry.request_time datetime.datetime(2017, 11, 1, 7, 28, 29, tzinfo=datetime.timezone.utc) >>> entry.request_line 'GET / HTTP/1.1' >>> entry.final_status 301 >>> entry.bytes_sent 521 >>> entry.headers_in["Referer"] is None True >>> entry.headers_in["User-Agent"] 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36' >>> # Log entry components can also be looked up by directive: >>> entry.directives["%r"] 'GET / HTTP/1.1' >>> entry.directives["%>s"] 301 >>> entry.directives["%t"] datetime.datetime(2017, 11, 1, 7, 28, 29, tzinfo=datetime.timezone.utc)
解析充满日志条目的文件
>>> with open('/var/log/apache2/access.log') as fp: # doctest: +SKIP ... for entry in parser.parse_lines(fp): ... print(str(entry.request_time), entry.request_line) ... 2019-01-01 12:34:56-05:00 GET / HTTP/1.1 2019-01-01 12:34:57-05:00 GET /favicon.ico HTTP/1.1 2019-01-01 12:34:57-05:00 GET /styles.css HTTP/1.1 # etc.
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
apachelogs-0.6.0.tar.gz (31.4 kB 查看哈希值)
构建分发
apachelogs-0.6.0-py3-none-any.whl (18.3 kB 查看哈希值)
关闭
apachelogs-0.6.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1708c243bb555e28a5f46109736c191c1778a6a787b2e3bcd302fd9093bc783f |
|
MD5 | 26619e62ab6bc0ebbe1034a818abe601 |
|
BLAKE2b-256 | 5a33433b35030271953cf57c1257212de71dfe63e1bb989018796c914e8f4be3 |
关闭
apachelogs-0.6.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dd8b6e4ee722f899bc558044663821dd47651fed436204a2e23bb5e8b28820a1 |
|
MD5 | a8528c0f9194bc2504f3310691b9bbbd |
|
BLAKE2b-256 | ec3816dfd236b34770161fbbd33081a50b703c66929dce4e3ca8f9d309642c43 |