{"_id":"@alexpekurovsky/logparser","_rev":"7-afda91e9e598e3dd57d9ddeb586cabc3","name":"@alexpekurovsky/logparser","time":{"modified":"2022-06-12T14:29:03.284Z","created":"2016-06-27T23:05:50.144Z","1.0.0":"2016-06-27T23:05:50.144Z","1.0.1":"2016-06-27T23:26:38.092Z","1.0.2":"2016-06-28T09:06:34.022Z","1.0.3":"2016-06-28T10:18:34.370Z"},"maintainers":[{"name":"alexpekurovsky","email":"alexpekurovskiy@gmail.com"}],"dist-tags":{"latest":"1.0.3"},"description":"LogParser is converter from file with single JSON object per line to CSV file.","readme":"# LogParser\n\nLogParser is converter from file with single JSON object per line to CSV file.\n\nThis project is done as exam task for IronSource. \n\n\n### Features:\n  - Converting single file\n  - Converting all files in directory\n  - Converting files in directory matching pattern\n  - Converting files in directory and subdirectories (recursively) matching pattern\n  - Multiple files processing simultaneously\n\n### Installation & Usage\n```sh\n$ npm i @alexpekurovsky/logparser [-g]\n$ logparser FILENAME  # to process single file\n$ logparser DIRNAME   # to process all files in dir\n$ logparser DIRNAME -p PATTERN  # to process all files in dir matching mattern\n$ logparser DIRNAME -p PATTERN -r  # to process all files in dir and subdirs matching pattern\n```\n\n### Examples\n```sh\n$ logparser /var/log/IronSourceApp/IS_main.log\n$ logparser /var/log/IronSourceApp\n$ logparser /var/log/IronSourceApp -p '*.log'\n$ logparser /var/log -p 'IS_*.log' -r\n```\n\n### Demo\n\n```sh\n$ ll\n-rw-r--r-- 1 root root 6651236352 Jun 28 01:55 big.log\n-rw-r--r-- 1 root root 3815110456 Jun 28 02:18 big.log.csv\n-rw-r--r-- 1 root root       2822 Jun 27 23:20 light.log\n-rw-r--r-- 1 root root   51962784 Jun 27 22:40 Mundo-json-2013-01-03.log\n-rw-r--r-- 1 root root          0 Jun 28 12:01 Mundo-json-2013-01-03.log.csv\n\n$ logparser -h\nusage: logparser [-h] [-p PATTERN] [-r] path\n\nArgparse example\n\nPositional arguments:\n  path                  Filename or directory to work on\n\nOptional arguments:\n  -h, --help            Show this help message and exit.\n  -p PATTERN, --pattern PATTERN\n                        Filemask to match files. See https://en.wikipedia.\n                        org/wiki/Glob_(programming)\n  -r, --recursive       Specify this option if you want to check\n                        subdirectories for files\n\n\n$ logparser . -p '*.log'\nProcessing big.log ...\n`-> big.log.csv exists\n  `-> File to be created big.log.csv exists. Do you want to [Override/Skip] it:\n    `-> Please answer exactly O/S: S\n  `-> You skipped processing of big.log\nProcessing light.log ...\nProcessing Mundo-json-2013-01-03.log ...\n`-> Mundo-json-2013-01-03.log.csv exists\n  `-> File to be created Mundo-json-2013-01-03.log.csv exists. Do you want to [Override/Skip] it: O\n  `-> Truncating output file Mundo-json-2013-01-03.log.csv\nProcessing light.log completed.\nProcessing Mundo-json-2013-01-03.log completed.\n\n\n$ ll -h\n-rw-r--r-- 1 root root 6,2G Jun 28 01:55 big.log\n-rw-r--r-- 1 root root 3,6G Jun 28 02:18 big.log.csv\n-rw-r--r-- 1 root root 2,8K Jun 27 23:20 light.log\n-rw-r--r-- 1 root root 1,8K Jun 28 12:02 light.log.csv\n-rw-r--r-- 1 root root  50M Jun 27 22:40 Mundo-json-2013-01-03.log\n-rw-r--r-- 1 root root  29M Jun 28 12:02 Mundo-json-2013-01-03.log.csv\n```\n\n### License\nFeel free to use this code, if needed\n\n### More info\nUpdates to code to work more efficient on big files after Job Offer :)\n","versions":{"1.0.1":{"name":"@alexpekurovsky/logparser","version":"1.0.1","description":"LogParser is converter from file with single JSON object per line to CSV file.","main":"index.js","engines":{"node":">= 5.0"},"bin":{"logparser":"./bin.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"glob":"^7.0.5","fs":"^0.0.2","readline-sync":"^1.4.4"},"author":{"name":"Alex Pekurovsky","email":"alexpekurovskiy@gmail.com"},"license":"ISC","_id":"@alexpekurovsky/logparser@1.0.1","_shasum":"58d1f4d47e88d0294c6e797348452163eeefff84","_from":".","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"alexpekurovsky","email":"alexpekurovskiy@gmail.com"},"dist":{"shasum":"58d1f4d47e88d0294c6e797348452163eeefff84","tarball":"https://registry.npmjs.org/@alexpekurovsky/logparser/-/logparser-1.0.1.tgz","integrity":"sha512-RgGoa2xk1oIAmboXI2G237gRyoJZRPOvytu5nfMz1zrdFPMEUFmD3/kxiF1+/VQhDnT/8+UYolXZUnJZXhM4Cw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHORpi6cUJwze3gyjjUJ5NUb0yVKfLHcpZXceClCVvSNAiEArMuMgCLbT0QHVWzPXsXx88j6YDNQkp/HjZy090JIoDY="}]},"maintainers":[{"name":"alexpekurovsky","email":"alexpekurovskiy@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/logparser-1.0.1.tgz_1467069997013_0.17592651583254337"}},"1.0.2":{"name":"@alexpekurovsky/logparser","version":"1.0.2","description":"LogParser is converter from file with single JSON object per line to CSV file.","main":"index.js","engines":{"node":">= 5.0"},"bin":{"logparser":"./bin.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"glob":"^7.0.5","fs":"^0.0.2","readline-sync":"^1.4.4","prompt-sync":"^4.1.4","argparse":"^1.0.7"},"author":{"name":"Alex Pekurovsky","email":"alexpekurovskiy@gmail.com"},"license":"ISC","_id":"@alexpekurovsky/logparser@1.0.2","_shasum":"69937f743cc97663f593a8e8e2ea6a18afb89dcb","_from":".","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"alexpekurovsky","email":"alexpekurovskiy@gmail.com"},"dist":{"shasum":"69937f743cc97663f593a8e8e2ea6a18afb89dcb","tarball":"https://registry.npmjs.org/@alexpekurovsky/logparser/-/logparser-1.0.2.tgz","integrity":"sha512-Qnki2lWTifUi0sJRkXymehjsqprK00KBpFss8NyTcVw0p5m7LW72BJCRH9ChPkzEbux2Q1WHgmwMwCF5rBF/tg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEmj0JuDgDJS/Cq95uNY3T8b0NU1oQxESvrRAFa8Pp0PAiBgdbtY0CzJBHBkTDc1zwi57WL7rn+zWlXstqmLhi0imQ=="}]},"maintainers":[{"name":"alexpekurovsky","email":"alexpekurovskiy@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/logparser-1.0.2.tgz_1467104791623_0.16784518817439675"}},"1.0.3":{"name":"@alexpekurovsky/logparser","version":"1.0.3","description":"LogParser is converter from file with single JSON object per line to CSV file.","main":"index.js","engines":{"node":">= 5.0"},"bin":{"logparser":"./bin.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"glob":"^7.0.5","fs":"^0.0.2","readline-sync":"^1.4.4","prompt-sync":"^4.1.4","argparse":"^1.0.7"},"author":{"name":"Alex Pekurovsky","email":"alexpekurovskiy@gmail.com"},"license":"ISC","_id":"@alexpekurovsky/logparser@1.0.3","_shasum":"f652c9b1002e4137dc03e28db7f1d09bcc41971a","_from":".","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"alexpekurovsky","email":"alexpekurovskiy@gmail.com"},"dist":{"shasum":"f652c9b1002e4137dc03e28db7f1d09bcc41971a","tarball":"https://registry.npmjs.org/@alexpekurovsky/logparser/-/logparser-1.0.3.tgz","integrity":"sha512-JBuEBXtffOG3DvNVZn1Sbw0O6khGK64Wq8xIOonzBrFEvIFW4v7U48J3Y4aMg8A5HKkXGeibWQo+ljjPeGZ6xw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFB5aVPS3H2q2zrlMgwf01dt9r7FSJOLXvZcb0cf0g2oAiBEQlqboT16whirn/lJF/CdCjeYsPnhF7Qy/wKumBeB/w=="}]},"maintainers":[{"name":"alexpekurovsky","email":"alexpekurovskiy@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/logparser-1.0.3.tgz_1467109112013_0.9994725920259953"}}},"author":{"name":"Alex Pekurovsky","email":"alexpekurovskiy@gmail.com"},"license":"ISC","readmeFilename":"README.md"}