Skip to content

Releases: Nakama3942/mighty_logger

Progress update

14 Jun 15:03
Compare
Choose a tag to compare

Documenting:

  • Updated documentation;
  • Wrote the actual README.md, DATA.md and APPLYING.md (which corresponds to the current version).

Enhancements:

  • Implemented Processes (an abstract concept that appears to be a new functionality):
    • Added new entry types:
      • empty (available1);
      • resolved (available1);
      • unresolved (available1);
      • initiation (hidden2; auto3);
      • achievement (hidden2; manual4);
      • milestone (hidden2; manual4);
      • progress ->
        • indefinite_progress (hidden2; auto3);
        • definite_progress (hidden2; auto3);
      • success (available1) -> (hidden2; auto3);
      • fail (available1) -> (hidden2; auto3);
    • Added new control methods:
      • Logger.start_indefinite_process() - starts an indefinite Process;
      • Logger.start_definite_process() - starts a definite Process;
      • Logger.progress_rise() - sets the percentage of completion of the Process;
      • Logger.note_process() - adds an entry to the Process;
      • Logger.stop_process() - terminates the Process;
    • Added animations for Processes;
    • Added enum TypesEntries for Logger.note_process();
  • Added extraction of strings from the buffer by the pop() method;
  • Beautifully decorated the code in the Logger class;
  • Expanded icon set (for new entries).
  1. Can be used not only in Processes, but also in a regular Logger 2 3 4 5

  2. Can only be used in Processes, cannot call an entry from the Logger 2 3 4 5 6 7

  3. Available only to Logger 2 3 4 5

  4. Available to the programmer 2

Hints update

08 Jun 16:15
Compare
Choose a tag to compare

Bug Fixes:

  • Removed line breaks in HTML, since Qt's append() method adds a line break on its own; this way lists of HTML records will be displayed correctly in Qt (no unnecessary breaks), but when saving the file, you can choose whether to add line breaks between entries or not.

Documenting:

  • Updated documentation;
  • Wrote the actual README.md, DATA.md and APPLYING.md (which corresponds to the current version).

Enhancements:

  • Added 4 sets of icons for entries with the ability to create your own sets;
  • Added template status messages with the ability to specify your own status message.

Unifying update

13 Apr 16:56
Compare
Choose a tag to compare

Bug Fixes:

  • Fixed TypeError in the message() method (because its name began to intersect with the setting responsible for displaying the message entry);
  • A bug of possible unpredictable behavior of the Logger has been fixed, since when creating the second object, a link to the existing one is returned, but __init__() is still called, and in case of switching to HTML format or changing other settings, unexpected behavior of the program could occur (just re-initialization of the class was excluded);
  • Fixed a bug in the save() method of the TextBufferType class and inherited classes: the fact is that TextBuffer overrides the method with the addition of the clean argument, which is not in the parent abstract TextBufferType class - now it (the argument) is defined in all classes;
  • Fixed a bug when the buffer is created in advance: now there is a check if the buffer object exists; if it exists, the link is saved to the logger and a log is written that the buffer is borrowed, otherwise a new buffer is created.

Documenting:

  • Updated documentation;
  • Wrote the actual README.md, DATA.md and APPLYING.md (which corresponds to the current version).

Enhancements:

  • Renamed the repository to mighty_logger;
  • Translated the names of the recording methods from the Upper case format to the Lower case format;
  • Added a new ReCreationException that is thrown when an object of a class inherited from Singleton is re-created;
  • The settings system has been completely changed.

Pre-Unifying update

10 Apr 16:17
Compare
Choose a tag to compare
Pre-Unifying update Pre-release
Pre-release

Documenting:

  • Updated annotation of modules and packages.

Enhancements:

  • The TextBufferBase class has been moved to the qt_colored_logger.basic package in the new text_buffer_type.py module and renamed to TextBufferType;
  • Optimized the Logger class;
  • Completed the LogEnvironments format and usage;
  • Removed LoggerQ class and html_colored_logger.py module;
  • Accounted for environment in the set_color() function in the Logger class;
  • The colored_logger.py module has been renamed to powerful_logger.py and moved to the library root;
  • Removed the empty qt_colored_logger.logger package;
  • Renamed the library to mighty_logger.

Dev-Unifying update

10 Apr 09:30
Compare
Choose a tag to compare
Dev-Unifying update Pre-release
Pre-release

Enhancements:

  • _html_initialized_data() attached to _initialized_data();
  • _assemble_html_entry() attached to _assemble_entry();
  • Implemented LogEnvironment enumeration with Console and HTML values;
  • The abstract class TextBufferBase is implemented as a type for buffers (it was necessary to combine two buffers BasicTextBuffer and TextBuffer);
  • The Logger class has been rewritten;
  • The LoggerQ class is hidden;

Buffer update

09 Apr 16:59
Compare
Choose a tag to compare

Documenting:

  • Split README.md, cutting DATA.md and APPLYING.md out of it;
  • Published a plan for the next updates in README.md;
  • Updated documentation;
  • Wrote the actual README.md, DATA.md and APPLYING.md (which corresponds to the current version).

Enhancements:

  • Added a package qt_colored_logger.text;
  • Added TextBuffer (used for console) to qt_colored_logger.text package;
  • Added BasicTextBuffer (used with HTML) to qt_colored_logger.text package;
  • Loggers moved from qt_colored_logger root package to nested qt_colored_logger.logger;
  • Entry methods rewritten - now they do not return strings of entries, but add them to the text buffer;
  • Returned protected modules, making them fully available;
  • Added blanks for the next updates;
  • Reworked the principle of forming strings of records in the BasicLogger, getting rid of the string variable;
  • Added get_buffer() method in loggers.

Background update

05 Apr 14:59
Compare
Choose a tag to compare

Documenting:

  • Updated documentation;
  • Wrote the actual README.md (which corresponds to the current version).

Enhancements:

  • Added support for inverting colors in posts (console);
  • Added support for backgrounds in posts (console, HTML);
  • Completely redesigned and written from scratch logger color table;
  • Logger included AnsiColorSetInit;
  • LoggerQ included HtmlColorSetInitQ;
  • Removed list of default colors;
  • Post types categorized:
    • Debugging (%);
    • Event (~);
    • Message (@);
    • Error (!);
    • Process (&).
  • Argument names are now required;
  • Added an introductory line with system initialized information;
  • Added a global enable background setting;
  • Started work on the text buffer;
  • Added new CombinationException.

Tests and protections

31 Mar 14:11
Compare
Choose a tag to compare

Bug Fixes:

  • Fixed old calls to Singleton and BasicLogger to new _Singleton and _BasicLogger in HtmlColorSetInitQ, LoggerQ, AnsiColorSetInit and Logger classes;
  • Fixed a bug in the setColor() method of the AnsiColorSetInit class, where the value of the new argument was not passed to the Dec2Ansi() function after changing the GetAnsiFormat() function.

Documenting:

  • Wrote the actual README.md (which takes into account changes in versions v0.2.0 and v0.2.1);
  • Fixed a bug in the annotation of the setColor() method of the HtmlColorSetInitQ class;
  • Changed the order of the changelog - now it goes in direct order from top to bottom (easy to read and understand), and not from bottom to top.

Enhancements:

  • Renamed the GetAnsi() function to GetAnsiFormat(), implemented the _RecursiveGetAnsiFormat() helper function for it - now GetAnsiFormat() takes the path to the ANSI escape code value, recursively traverses the tree and returns the ANSI escape code value, which helps to make the code easier to understand and speed up development programs when using the library; here are some examples:
# Before
print(f"{AnsiFormat['color']['set']['background'].replace('$', '255;165;0')}Test string")
print(f"{AnsiFormat['reset']['on']}Test string")

# After
print(f"{GetAnsiFormat('color/set/background/255;255;255')}Test string")
print(f"{GetAnsiFormat('reset/on')}Test string")
  • Renamed the AnsiForegroundColor() function to AnsiColor() - if earlier the function returned only the color of the text (the usual foreground), now you can specify any of the five plans (this is necessary for the next update, where I will add a change not only to the color, but also to the background of the logs):
    1. foreground
    2. background
    3. bright foreground
    4. bright background
    5. underline
  • Adapted the Dec2Ansi() and Hex2Ansi() functions to the modified AnsiColor();
  • Protected the qt_colored_logger/basic directory - now it is called qt_colored_logger/_basic: you can still use its functionality, but now, according to the agreement, the IDE will issue a warning; remember - protected modules are designed only for use inside the library;
  • The structure of the qt_colored_logger/_basic protected directory has been slightly changed;
  • Changed names of keys in "AnsiFormat/font" dictionary from "1th alternative", "2th alternative" and "3th alternative" to "1st alternative", "2nd alternative" and "3rd alternative" respectively.

Structural update

29 Mar 14:44
Compare
Choose a tag to compare
Structural update Pre-release
Pre-release

Documentation:

  • Documented all new functionality;
  • Fixed typos and outdated information in old documentation.

Enhancements:

  • Added a large dictionary of all ANSI escape codes and the GetAnsi() function to get it;
  • CodColor() function renamed to AnsiForegroundColor();
  • Fully implemented AnsiColorSetInit and Logger classes based on HtmlColorSetInitQ and LoggerQ;
  • Singleton pattern used by HtmlColorSetInitQ, LoggerQ, AnsiColorSetInit and Logger moved to a separate class;
  • A base class has been created for LoggerQ and Logger, which includes initialization, setting up loggers and generating record strings (at the moment, inherited classes are used to simplify interaction with the base class and use ready-made functionality, but in the future their own functionality will be expanded);
  • Optimized HexColor() and AnsiForegroundColor() functions;
  • The project structure has been completely changed (however, this only affects the development of the library and support for programs written with the version of the library v0.1.0 will remain, since the external attributes of communication with the library have not changed);
  • Added the DefaultColorScheme list, which stores a list of all colors that are used in the color schemes of the loggers and the GetDefaultColorScheme() function to get this list;
  • Now the ColorPicker dictionary stores only color values in RGB, and other formats are obtained by converting RGB;
  • Added functions Dec2Hex(), Dec2Ansi(), Hex2Dec(), Hex2Ansi(), Ansi2Dec(), Ansi2Hex(), which are used to convert one color value format to another;
  • The logic of assembling strings logging entry's has been completely changed;
  • The work of the HtmlColorSetInitQ and LoggerQ classes is adjusted to the new best functionality that is used in the new classes AnsiColorSetInit and Logger.

First official release

26 Mar 13:14
Compare
Choose a tag to compare

Bug Fixes:

  • Fixed a bug that occurs when passing arguments to the LoggerQ constructor;
  • Fixed a bug due to which the color value was not correctly saved in the logger's color table when changing the color manually.

Documenting:

  • Completed documentation of the library;
  • Wrote the actual README.md (which corresponds to the current version).

Enhancements:

  • Slightly redefined colors in the logger;
  • Changed the order of colors in the color table.