1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
//! log-cli: <small>Command line interface for log files.</small>
//!
//! ## Installation
//!
//! To install `log-cli` run:
//!
//! ```console
//! cargo install log-cli
//! ```
//!
//! ## Usage
//!
//! ```console
//! > log-cli sample.log
//!
//! ln00 2022-01-01 07:00:00,0 [info] module1 Message Subject: Text for a message.
//! ln01 2022-01-01 08:00:00,0 [info] module1 Message Subject: Text for a message.
//! ln02 2022-01-01 09:00:00,0 [debug] module2 Message Subject: Text for a message.
//! ln03 2022-01-01 10:00:00,0 [debug] module2 Message Subject: Text for a message.
//! ln04 2022-01-01 11:00:00,0 [debug] module2 Message Subject: Text for a message.
//! ln05 2022-01-01 12:00:00,0 [info] module3 Message Subject: Text for a message.
//! ln06 2022-01-01 13:00:00,0 [info] module3 Message Subject: Text for a message.
//! ln07 2022-01-01 14:00:00,0 [info] module1 Message Subject: Text for a message.
//! ln08 2022-01-01 15:00:00,0 [info] module1 Message Subject: Text for a message.
//! ln09 2022-01-01 16:00:00,0 [info] module1 Message Subject: Text for a message.
//! ln10 2022-01-01 17:00:00,0 [info] module1 Message Subject: Text for a message.
//! ln11 2022-01-01 18:00:00,0 [info] module1 Message Subject: Text for a message.
//! ln12 2022-01-01 19:00:00,0 [info] module1 Message Subject: Text for a message.
//! ln13 2022-01-01 20:00:00,0 [debug] module5 Message Subject: Text for a message.
//! ln14 2022-01-01 21:00:00,0 [info] module2 Message Subject: Text for a message.
//! ln15 2022-01-01 22:00:00,0 [info] module2 Message Subject: Text for a message.
//! ln16 2022-01-01 23:00:00,0 [info] module6 Message Subject: Text for a message.
//! ln17 2022-01-02 00:00:00,0 [warning] module1 Message Subject: Text for a message.
//! ln18 2022-01-02 01:00:00,0 [info] module10 Message Subject: Text for a message.
//! ln19 2022-01-02 02:00:00,0 [info] module1 Message Subject: Text for a message.
//! ln20 2022-01-02 03:00:00,0 [debug] module12 Message Subject: Text for a message.
//! ln21 2022-01-02 04:00:00,0 [warning] module11 Message Subject: Text for a message.
//! ln22 2022-01-02 05:00:00,0 [info] module7 Message Subject: Text for a message.
//! ln23 2022-01-02 06:00:00,0 [info] module6 Message Subject: Text for a message.
//! ```
//!
//! ### View using keywords
//!
//! ```console
//! > log-cli sample.log --keywords "[debug]" "[warning]"
//!
//! ln02 2022-01-01 09:00:00,0 [debug] module2 Message Subject: Text for a message.
//! ln03 2022-01-01 10:00:00,0 [debug] module2 Message Subject: Text for a message.
//! ln04 2022-01-01 11:00:00,0 [debug] module2 Message Subject: Text for a message.
//! ln13 2022-01-01 20:00:00,0 [debug] module5 Message Subject: Text for a message.
//! ln17 2022-01-02 00:00:00,0 [warning] module1 Message Subject: Text for a message.
//! ln20 2022-01-02 03:00:00,0 [debug] module12 Message Subject: Text for a message.
//! ln21 2022-01-02 04:00:00,0 [warning] module11 Message Subject: Text for a message.
//! ```
//!
//! ### View using a line range
//!
//! ```console
//! > log-cli sample.log --line-range 20 30
//!
//! ln20 2022-01-02 03:00:00,0 [debug] module12 Message Subject: Text for a message.
//! ln21 2022-01-02 04:00:00,0 [warning] module11 Message Subject: Text for a message.
//! ln22 2022-01-02 05:00:00,0 [info] module7 Message Subject: Text for a message.
//! ln23 2022-01-02 06:00:00,0 [info] module6 Message Subject: Text for a message.
//! ```
//!
//! ### More usage
//!
//! ```console
//! > log-cli --help
//!
//! Command line interface for log files.
//!
//! USAGE:
//! log-cli [OPTIONS] [--] [LOG_FILE]
//!
//! ARGS:
//! <LOG_FILE> Path to log file to be read. By default if no additional flags are passed the
//! entire file will be displayed.
//!
//! OPTIONS:
//! -h, --help Print help information
//! --head <VALUE> Display the top VALUE lines.
//! --keywords <VALUE>... Keywords to search for in the log file. Multiple keywords can be
//! passed (ex: these are all keywords).
//! --line-range <VALUE>... Line number range to display. Must be a valid integer range
//! format (ex: 0 10 to display the first 10 lines).
//! -V, --version Print version information
//! ```
/// `File` reading logic for log files.
pub mod read;
/// Validation logic for argument values and more.
pub mod validate;
/// `File` display application logic for `log-cli`.
pub mod view;