Machen Sie Apache Log CSV mit Python

installiere apache_log_parser

pip install apache_log_parser

Erstellen Sie den folgenden Code

Es ist fast unten, aber einige Bugfixes https://github.com/isonet/apache-log-to-csv

alog2csv.py


#!/usr/bin/env python
# coding: utf-8

import csv
import apache_log_parser
import argparse

class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'


def main(**kwargs):

    print('Converting, please wait...')

    line_parser = apache_log_parser.make_parser(kwargs['format'])
    header = True

    with open(kwargs['input'], 'rb') as inFile, open(kwargs['output'], 'w') as outFile:

        lines = inFile.readlines()
        writer = csv.writer(outFile, delimiter=',')

        for line in lines:
            try:
                log_line_data = line_parser(line)
            except apache_log_parser.LineDoesntMatchException as ex:
                print(bcolors.FAIL + 'The format specified does not match the log file. Aborting...' + bcolors.ENDC)
                print('Line: ' + ex.log_line + 'RegEx: ' + ex.regex)
                exit()

            if header:
                writer.writerow(list(log_line_data.keys()))
                header = False
            else:
                writer.writerow(list(log_line_data.values()))

    print(bcolors.OKGREEN + 'Conversion finished.' + bcolors.ENDC)


if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='Convert Apache logs to csv', version='%(prog)s 1.0')
    parser.add_argument('format', type=str, help='Apache log format (see http://httpd.apache.org/docs/2.2/logs.html)')
    parser.add_argument('input', type=str, help='Input log file ex. /var/log/apache/access.log')
    parser.add_argument('output', type=str, help='Output csv file ex. ~/accesslog.csv')
    args = parser.parse_args()
    main(**vars(args))

Lauf

In der Reihenfolge "alog2csv.py format source output"

python alog2csv.py "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" access_log_20200430 output.csv

Recommended Posts

Machen Sie Apache Log CSV mit Python
Konvertieren Sie JSON mit Python von Splunk in CSV
Python3 + Django ~ Mac ~ mit Apache
Erstelle Puyopuyo AI mit Python
Machen Sie eine Lotterie mit Python
Schreiben Sie mit Python in csv
Laden Sie die CSV-Datei mit Python herunter
Erstellen Sie mit Python Pandas Py Installer ein CSV-Formatierungswerkzeug
Erstelle einen LINE-Bot mit Python + Heroku
[Python] Mit Python in eine CSV-Datei schreiben
Lassen Sie uns eine GUI mit Python erstellen.
Ausgabe in eine CSV-Datei mit Python
Python-Protokoll ausgeben
Unit Test Log Ausgabe mit Python
Erstellen Sie ein Empfehlungssystem mit Python
Behandeln Sie Excel-CSV-Dateien mit Python
Lassen Sie uns ein Diagramm mit Python erstellen! !!
Lesen und Schreiben von CSV mit Python
Bis Python auf Apache läuft
CSV-Datei mit Python lesen (CSV-Datei herunterladen und analysieren)
Python-Protokoll mit GAE an die Konsole ausgeben
Fraktal zum Erstellen und Spielen mit Python
Lassen Sie uns mit Python langsam sprechen
Erleichtern Sie die Einreichung von Pypys mit atcoder-cli (Python)
CentOS 6.4, Python 2.7.3, Apache, mod_wsgi, Django
[Python] Lassen Sie uns matplotlib mit Japanisch kompatibel machen
[Teil1] Scraping mit Python → Organisieren Sie bis zu CSV!
Erstellen Sie ein Webframework mit Python! (1)
Erstellen Sie eine Desktop-App mit Python mit Electron
Machen wir einen Twitter-Bot mit Python!
Erstellen Sie ein Webframework mit Python! (2)
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Scraping mit Python
Python mit Go
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
CSV in Python
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Lesen einer CSV-Datei mit Python 2/3
CSV-Ausgabe der Google-Suche mit [Python]! 【Einfach】
Kratzen Sie das Essen mit Python und geben Sie es an CSV aus
Pyinstaller verwandelt Python-Skripte in EXE-Dateien, die unter Windows ausgeführt werden können
Machen Sie Twitter Trend Bot mit Heroku + Python
Lesen Sie Python-CSV-Daten mit Pandas ⇒ Graph mit Matplotlib
Lesen Sie JSON mit Python und geben Sie CSV aus
Python-Protokoll wird nicht mit Docker-Compose ausgegeben
Ich möchte ein Spiel mit Python machen