Aqui está um pequeno script python que deve ser bastante robusto e facilmente estendido:
#!/usr/bin/env python
import sys, os
from datetime import datetime
try:
if not os.path.isfile(sys.argv[1]):
sys.stderr.write("[Error]: %s is not a file\n" % sys.argv[1])
sys.exit(1)
except IndexError:
sys.stderr.write("Usage: parse_squid_log.py access.log\n")
sys.exit(1)
with open(sys.argv[1]) as log:
for line in log:
line = line.split(' ')
line[0] = str(datetime.fromtimestamp(float(line[0])))
print ' '.join(line).strip()
Salve-o em um arquivo como parse_squid_log
e verifique se ele é executável chmod +x parse_squid_log
e path
.
Uso:
$ parse_squid_log
Usage: parse_squid_log.py access.log
$ parse_squid_log abc
[Error]: abc is not a file
$ parse_squid_log /var/log/squid3/access.log
2013-07-23 05:19:26.136000 929 185.168.101.131 TCP_MISS/200 28198 ...
2013-07-23 05:23:07.488000 0 10.42.0.14 TCP_IMS_HIT/304 278 GET ...
2014-05-08 13:49:47.488000 0 10.42.0.14 TCP_IMS_HIT/304 278 GET ...