Index

lognestmonster / f76cab2

A general-purpose single-header C logging library and parser for event-based logs. (Incomplete)

Latest Commit

{#}TimeHashSubjectAuthor#(+)(-)GPG?
7221 Aug 2019 21:33f5472c4Argument parsing and processingJosh Stockin167N

Blob @ lognestmonster / parser / text.py

application/x-python4983 bytesdownload raw
1# lognestmonster Copyright (c) 2019 Joshua 'joshuas3' Stockin
2# <https://github.com/JoshuaS3/lognestmonster/>.
3
4
5# This file is part of lognestmonster.
6
7# lognestmonster is free software: you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation, either version 3 of the License, or
10# (at your option) any later version.
11
12# lognestmonster is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU General Public License for more details.
16
17# You should have received a copy of the GNU General Public License
18# along with lognestmonster. If not, see <https://www.gnu.org/licenses/>.
19
20from format import *
21
22TITLE = "lognestmonster"
23VERSION = "0.1.0"
24
25VERSION_SHORT = "{0}/{1} Copyright (c) 2019 Joshua 'joshuas3' Stockin".format(TITLE, VERSION)
26
27VERSION_MESSAGE = """{0}
28Licensed under version 3 of the GNU General Public License
29<https://github.com/JoshuaS3/lognestmonster/>
30
31
32This program is free software: you can redistribute it and/or modify
33it under the terms of the GNU General Public License as published by
34the Free Software Foundation, either version 3 of the License, or
35(at your option) any later version.
36
37This program is distributed in the hope that it will be useful,
38but WITHOUT ANY WARRANTY; without even the implied warranty of
39MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40GNU General Public License for more details.
41
42You should have received a copy of the GNU General Public License
43along with this program. If not, see <https://www.gnu.org/licenses/>.
44
45
46Written by Joshua 'joshuas3' Stockin.""".format(VERSION_SHORT)
47
48# Help screen information
49
50HELP_MESSAGE = "Run with --help to display usage information"
51USAGE_MESSAGE = "[OPTION]... <QUEUE>"
52
53COMMAND_INFO = """The lognestmonster library allows you to generate log files with an organized nesting format. Use this lognestmonster command to parse files generated by the lognestmonster library.
54
55
56
57By default, inputting a queue file, a folder with queue files, or switching stdin (passing "-" for QUEUE) will display an interactive textual interface where keyboard events are used to sift through log statements. Using the status switch (-s, --status), you can do a quick read of the instream and only display metadata, such as the number of statements or events, rather than a textual user interface. If the follow switch is used (-f, --follow), the parser will keep the instreams open and generate live logtrees. Switching stdin ("-") automatically switches follow. See other switches and options for the ability to narrow down log results. Log-unrelated commands (help, version, or no args) do not require a QUEUE variable.
58
59
60
61Unless manually switched, the verbosity levels `verbose` (-v) and `veryverbose` (-vv) are not displayed in the interactive textual interface."""
62
63DESCRIPTION_HELP = "Displays program description and a list of valid options and other arguments"
64DESCRIPTION_VERSION = "Displays program information about copyright and the version"
65
66DESCRIPTION_STATUS = "Reads the directory and outputs file and log metadata for each log tree"
67
68DESCRIPTION_ERRORS = "Omits all statements besides errors. Stackable with other verbosity level commands"
69DESCRIPTION_WARNINGS = "Omits all statements besides warnings. Stackable with other verbosity level commands"
70DESCRIPTION_INFO = "Omits all statements besides those with verbosity type 'info'. Stackable with other verbosity level commands"
71DESCRIPTION_DEBUG = "Omits all statements besides those with verbosity type 'debug'. Stackable with other verbosity level commands"
72DESCRIPTION_VERBOSE = "Omits all statements besides those with verbosty type 'verbose'. Stackable with other verbosity level commands"
73DESCRIPTION_VERYVERBOSE = "Omits all statements besides those with verbosity type 'veryverbose'. Stackable with other verbosity level commands"
74
75DESCRIPTION_BEFORE = "Limits log results to before a certain timestamp. A millisecond UNIX timestamp must be provided."
76DESCRIPTION_AFTER = "Limits log results to after a certain timestamp. A millisecond UNIX timestamp must be provided"
77DESCRIPTION_TAG = "Limits log results to a tag. A string of the tag/invoker must be provided"
78DESCRIPTION_STATEMENT = "Limits log results to a numbered statement"
79DESCRIPTION_EVENT = "Limits log results to a numbered event and its children"
80
81DESCRIPTION_FOLLOW = "Provides a live view of the log tree stream, similar to the 'tail -f' command"
82
83# TUI messages
84
85HEADER_MESSAGE = "lognestmonster - {0}"
86
87METADATA_MESSAGE = "Size: {0} bytes | Timestamp: {1}"
88
89DATA_MESSAGE_DEFAULT = "{0} Statements | {1} Events | {2} Unsaved Data Trees"
90
91CONTROLS_MESSAGE = "press q to exit | h for help"
92
93CONTROLS_SCREEN = """h for help
94q to exit
95up and down arrow keys to select
96right arrow key to expand
97left arrow key to collapse
98spacebar to pause
99"""
100