Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 30 additions & 10 deletions CodeEntropy/config/logging_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@


class LoggingConfig:
def __init__(self, folder, default_level=logging.INFO):
def __init__(self, folder, log_level=logging.INFO):
log_directory = os.path.join(folder, "logs")
os.makedirs(log_directory, exist_ok=True)

Expand All @@ -26,52 +26,52 @@ def __init__(self, folder, default_level=logging.INFO):
"console": {
"class": "logging.StreamHandler",
"formatter": "simple",
"level": "INFO",
"level": logging.INFO,
},
"stdout": {
"class": "logging.FileHandler",
"filename": os.path.join(log_directory, "program.out"),
"formatter": "simple",
"level": "INFO",
"level": logging.INFO,
},
"logfile": {
"class": "logging.FileHandler",
"filename": os.path.join(log_directory, "program.log"),
"formatter": "detailed",
"level": "DEBUG",
"level": logging.DEBUG,
},
"errorfile": {
"class": "logging.FileHandler",
"filename": os.path.join(log_directory, "program.err"),
"formatter": "detailed",
"level": "ERROR",
"level": logging.ERROR,
},
"commandfile": {
"class": "logging.FileHandler",
"filename": os.path.join(log_directory, "program.com"),
"formatter": "simple",
"level": "INFO",
"level": logging.INFO,
},
"mdanalysis_log": {
"class": "logging.FileHandler",
"filename": os.path.join(log_directory, "mdanalysis.log"),
"formatter": "detailed",
"level": "DEBUG",
"level": logging.DEBUG,
},
},
"loggers": {
"": {
"handlers": ["console", "stdout", "logfile", "errorfile"],
"level": default_level,
"level": log_level,
},
"MDAnalysis": {
"handlers": ["mdanalysis_log"],
"level": "DEBUG",
"level": logging.DEBUG,
"propagate": False,
},
"commands": {
"handlers": ["commandfile"],
"level": "INFO",
"level": logging.INFO,
"propagate": False,
},
},
Expand All @@ -82,3 +82,23 @@ def setup_logging(self):
logging.getLogger("MDAnalysis")
logging.getLogger("commands")
return logging.getLogger(__name__)

def update_logging_level(self, log_level):
# Update the root logger level
root_logger = logging.getLogger()
root_logger.setLevel(log_level)
for handler in root_logger.handlers:
if isinstance(handler, logging.FileHandler):
handler.setLevel(logging.DEBUG)
else:
handler.setLevel(logging.INFO)

# Update all other loggers and their handlers
for logger_name in self.LOGGING["loggers"]:
logger = logging.getLogger(logger_name)
logger.setLevel(log_level)
for handler in logger.handlers:
if isinstance(handler, logging.FileHandler):
handler.setLevel(logging.DEBUG)
else:
handler.setLevel(logging.INFO)
25 changes: 14 additions & 11 deletions CodeEntropy/main_mcc.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,24 +67,27 @@ def main():
args, unknown = parser.parse_known_args()
args.outfile = os.path.join(folder, args.outfile)

# Determine logging level
log_level = logging.DEBUG if args.verbose else logging.INFO

# Initialize the logging system with the determined log level
logging_config = LoggingConfig(folder, default_level=log_level)
logger = logging_config.setup_logging()

# Capture and log the command-line invocation
command = " ".join(sys.argv)
logging.getLogger("commands").info(command)

try:
# Initialize the logging system once
logging_config = LoggingConfig(folder)
logger = logging_config.setup_logging()

# Process each run in the YAML configuration
for run_name, run_config in config.items():
if isinstance(run_config, dict):
# Merging CLI arguments with YAML configuration
args = arg_config.merge_configs(args, run_config)

# Determine logging level
log_level = logging.DEBUG if args.verbose else logging.INFO

# Update the logging level
logging_config.update_logging_level(log_level)

# Capture and log the command-line invocation
command = " ".join(sys.argv)
logging.getLogger("commands").info(command)

# Ensure necessary arguments are provided
if not getattr(args, "top_traj_file"):
raise ValueError(
Expand Down
5 changes: 2 additions & 3 deletions config.yaml
Comment thread
harryswift01 marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@ run1:
end:
step:
bin_width:
tempra:
temperature:
verbose:
thread:
outfile:
resfile:
mout:
force_partitioning:
waterEntropy:
waterEntropy: