Logs to system temp folder, instead of logging to stderr. Args sub_folder: str = 'agents_log', log_file_prefix: str = 'agent', log_file_timestamp: str = time.strftime('%Y%m%d_%H%M%S'), Returns the log file path.
(
level=logging.INFO,
*,
sub_folder: str = 'agents_log',
log_file_prefix: str = 'agent',
log_file_timestamp: str = time.strftime('%Y%m%d_%H%M%S'),
)
| 68 | |
| 69 | |
| 70 | def log_to_tmp_folder( |
| 71 | level=logging.INFO, |
| 72 | *, |
| 73 | sub_folder: str = 'agents_log', |
| 74 | log_file_prefix: str = 'agent', |
| 75 | log_file_timestamp: str = time.strftime('%Y%m%d_%H%M%S'), |
| 76 | ): |
| 77 | """Logs to system temp folder, instead of logging to stderr. |
| 78 | |
| 79 | Args |
| 80 | sub_folder: str = 'agents_log', |
| 81 | log_file_prefix: str = 'agent', |
| 82 | log_file_timestamp: str = time.strftime('%Y%m%d_%H%M%S'), |
| 83 | |
| 84 | Returns |
| 85 | the log file path. |
| 86 | """ |
| 87 | log_dir = os.path.join(tempfile.gettempdir(), sub_folder) |
| 88 | log_filename = f'{log_file_prefix}.{log_file_timestamp}.log' |
| 89 | log_filepath = os.path.join(log_dir, log_filename) |
| 90 | |
| 91 | os.makedirs(log_dir, exist_ok=True) |
| 92 | |
| 93 | file_handler = logging.FileHandler(log_filepath, mode='w') |
| 94 | file_handler.setLevel(level) |
| 95 | file_handler.setFormatter(logging.Formatter(LOGGING_FORMAT)) |
| 96 | |
| 97 | root_logger = logging.getLogger() |
| 98 | root_logger.setLevel(level) |
| 99 | root_logger.handlers = [] # Clear handles to disable logging to stderr |
| 100 | root_logger.addHandler(file_handler) |
| 101 | |
| 102 | click.echo(f'Log setup complete: {log_filepath}') |
| 103 | _try_create_latest_log_symlink(log_dir, log_file_prefix, log_filepath) |
| 104 | |
| 105 | return log_filepath |
nothing calls this directly
no test coverage detected