Conversation
- Creation of a new logging_config.py file which handles the logging cases - This produces 5 files: program.out, program.log, program.err, program.com and mdanalysis.log - Info is set as default, which is what is shown to the user on CMD if verbose is set the Debug logging will be enabled - Creation of a new data_logger.py file which records and populates JSON output and table structure - Creation of a new arg_config_manager.py file which handles all of the arguments within CodeEntropy - New file structure, CodeEntropy calculations within its own folder and config files witin their own folder - JSON output file is now standard - Updated CMD output, cleaner approach as well as using tabulate to structure the results
…34-implement-python-logging
…he logging system
This was
linked to
issues
Mar 24, 2025
jimboid
approved these changes
Mar 25, 2025
Member
jimboid
left a comment
There was a problem hiding this comment.
An excellent PR. Bringing tiered logging to the application and improving how things look. Separating out MDA is a nice touch with its own debug and info levels. The structural improvements to how jobs are run is also a nice to have addition, this means people can easily tweak params without worrying about moving files around in the terminal. This allows users to run things like diff, in future we might provide a wrapper command to do such diffs in an intelligent way. I like that there is now a bit more structure to configs and calcs in the source. Tests look to have been updated to account for these changes.
A very nice PR, safe to merge.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a custom Python logging system into CodeEntropy with the aim of simplifying and unifying the logging process, improving the clarity of logs, and enhancing the ability to troubleshoot issues. It also includes several structural and functional improvements related to data logging and configuration management.
Changes
Introduction of Logging System:
logging_config.pyfile to manage logging configurations and cases.program.out,program.log,program.err,program.com, andmdanalysis.log.INFOandDEBUGmodes for further analysis if needed.INFOverbose mode will enableDEBUGlogging, providing more detailed logs to the user.File Locations:
jobxxx, this will read in what is on the disk and increment job numbers.Data Logging Enhancements:
data_logger.pyfile which handles the data within CodeEntropy, especially with the output being displayed to the user.Configuration and Argument Management:
arg_config_manager.pyfile to handle and manage all command-line arguments within CodeEntropy more efficiently.File Structure and Organization Improvements:
Updated Command-Line Output:
Test Cases Update:
Dependency Management:
python-json-loggerandtabulatepackage topyproject.tomlas a new dependency for better table formatting in the output.Impact