Skip to main content

Parse log file as input and export the data to database as output.

Project description

logio

Parse log file as input and export the data to database as output.

Install

pip install logio

Installed Command Utils

  • logio

Usage

C:\Workspace\logio>logio --help
Usage: logio [OPTIONS] COMMAND [ARGS]...

  Parse log file as input and export the data to database as output.

Options:
  -c, --config TEXT  Config file path. The config file must in yaml format.
                     [required]

  --help             Show this message and exit.

Commands:
  scan    Try example settings on a test file.
  server  Start log handler server.
  test    Parse the example text and print out parse result.

Settings

  • input
    • type: stdin, file, tail
    • ignore-blank-lines: true, false
    • encoding: utf-8, gb18030, ...
    • for type=file
    • filename
    • for type=tail
    • filename
    • offset-file
    • read-from-end
    • backup-patterns
    • sleep-interval
    • non-blocking
    • blocking
  • output
    • type: mysql, stdout, print-not-matched-line
    • buffer-size
    • for type=mysql
    • ignore-not-matched-lines
    • keep-failed-lines
    • inserts: list<string, string>
      • key: DEFAULT, some other key
      • sql_template
  • parser
    • type: regex, json
    • keeep-not-matched-lines: bool
    • for type=regex
    • use-default-rules
    • transforms
    • rules
    • matches: list<string, string>
      • matched_name
      • regex

Example config

input:
  type: tail
  filename: tests\nginx.access.log
parser:
  type: regex
  matches:
    simple: "{SIMPLE_NGINX_ACCESS}"
  transforms:
    - field: time_local
      type: strftime
      strptime: "%d/%b/%Y:%H:%M:%S %z"
    - field: request_time
      type: str2number
    - field: request_time
      type: formula
      formula: "{request_time} * 1000000"
    - field: request_time
      type: int
output:
  type: mysql
  mysql:
    host: 127.0.0.1
    port: 3306
    user: root
    password: password
    database: database
  inserts:
    simple:
      sql: insert into table_name (add_time, path, response_time) values (%s, %s, %s)
      fields:
        - time_local
        - request_path
        - request_time

Releases

v0.1.21 2025/10/24

  • Add RequestBody transformer.
  • Add LogToHttp output.

v0.1.19 2022/01/18

  • Add sympy in requirements.txt.
  • Remove mysqlclient from requirements.txt.
  • Fix license file missing problem.

v0.1.18 2021/02/22

  • Set default buffer-size to 10.
  • Add log in loop.
  • Use fastutils.logutils.setup.

V0.1.13 2021/02/18

  • Add Nginx Access Log Rules.
  • Add LogFilter subsystem.
  • Add transforms support in LogParser.

v0.1.10 2020/10/10

  • Add json parser.

v0.1.9 2020/09/10

  • Change package's home url.

v0.1.8 2020/09/09

  • Translate help informations to english.
  • Add License.
  • Add LogToStdout.

v0.1.7

  • Some bad old release, ignore them...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

logio-0.1.21.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

logio-0.1.21-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file logio-0.1.21.tar.gz.

File metadata

  • Download URL: logio-0.1.21.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for logio-0.1.21.tar.gz
Algorithm Hash digest
SHA256 0a81694f58d9bc050a197a2c4d1f72c3c455d14c5a08cd00d802efcd6791a9ec
MD5 56a5d6aea3941e5213946c7c8c108a0d
BLAKE2b-256 b16970dcf894ac545e954a59a6dbff3a533ea9d3cef09c421d4e64964862f60f

See more details on using hashes here.

File details

Details for the file logio-0.1.21-py3-none-any.whl.

File metadata

  • Download URL: logio-0.1.21-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for logio-0.1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 d6e6eb02d82d9731e2c46897b3a8f58b643d92650fdd3034b0ab63052c324cf9
MD5 8655de8e8b5a9a4ca41f502ba9b45574
BLAKE2b-256 3298a6afaef0e47d6a0fecf341653ad18f138260963ffc5f55ca21b355dcc123

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page