GithubHelp home page GithubHelp logo

logio's Introduction

Logio

Continuous Integration

Log parser

Из коробки поддерживаются:

  • apache
  • nginx
  • php
  • php-fpm
  • mysql

Добавление нового парсера заключается в написании в конфигурации регулярных выражений для нового парсера.

Installation:

composer require gemorroj/logio

Example:

<?php

$config = Logio\Config::createFromYaml('/path_to_config/config.yml');
$logio = new Logio\Logio($config);

$parser = $logio->run('php');
foreach ($parser as $data) {
    print_r($data);
    /*
    Array
    (
        [date] => DateTime Object
            (
                [date] => 2017-02-22 06:11:51.000000
                [timezone_type] => 3
                [timezone] => Europe/Moscow
            )
    
        [type] => PHP Warning
        [message] => session_start(): open(/var/lib/php/session/sess_2u61qee1kg9p7rr69mgka5ddf4, O_RDWR) failed: Permission denied (13)
        [file] => /var/www/forum/register.php
        [line] => 2
    )
     */
}

TODO

добавить в конфиги новый параметр который, говорил бы о добавлении данных в массив до того момента. пока не сработает регулярка. Например:

mysql:
    path: 'tests/fixtures/mysql.log'
    format:
        date: '/^([0-9A-Z\.\-:]+) /'
        thread: '/^(?:[0-9A-Z\.\-:]+) ([0-9]+) \[/'
        type: '/(?:[0-9]+) \[(.+)\] /'
        message: '/ (?:[0-9]+ \[.+\] ){0,1}(.+)+/'
    cast:
        date: '\DateTime'
    append:
        message: '/todo/'
2016-03-01T22:22:38.769531Z 0 [Note] InnoDB: Progress in MB:
 100 200
2016-03-01T22:22:39.884951Z 0 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0

Должно получиться 2 элемента массива, " 100 200" должны присоединиться к message предыдущей строки.

logio's People

Contributors

gemorroj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

logio's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.