Unified Logger for mLLMCelltype Package
Unified Logger for mLLMCelltype Package
log_dirDirectory for storing log files
log_levelCurrent logging level
session_idUnique identifier for the current session
max_log_sizeMaximum log file size in MB (default: 10MB)
max_log_filesMaximum number of log files to keep (default: 5)
enable_consoleWhether to output to console (default: TRUE)
enable_jsonWhether to use JSON format (default: TRUE)
performance_statsPerformance monitoring statistics
new()Initialize the unified logger
UnifiedLogger$new(
base_dir = NULL,
level = "INFO",
max_size = 10,
max_files = 5,
console_output = TRUE,
json_format = TRUE
)base_dirBase directory for logs (defaults to tempdir())
levelLogging level: DEBUG, INFO, WARN, ERROR (default: "INFO")
max_sizeMaximum log file size in MB (default: 10)
max_filesMaximum number of log files to keep (default: 5)
console_outputWhether to output to console (default: TRUE)
json_formatWhether to use JSON format (default: TRUE)
messageLog message
contextAdditional context (optional)
info()Log an info message
UnifiedLogger$info(message, context = NULL)messageLog message
contextAdditional context (optional)
warn()Log a warning message
UnifiedLogger$warn(message, context = NULL)messageLog message
contextAdditional context (optional)
error()Log an error message
UnifiedLogger$error(message, context = NULL)messageLog message
contextAdditional context (optional)
log_api_call()Log API call performance
UnifiedLogger$log_api_call(
provider,
model,
duration,
success = TRUE,
tokens = NULL
)providerAPI provider name
modelModel name
durationDuration in seconds
successWhether the call was successful
tokensNumber of tokens used (optional)
log_api_request_response()Log complete API request and response for debugging and audit
UnifiedLogger$log_api_request_response(
provider,
model,
prompt_content,
response_content,
request_metadata = NULL,
response_metadata = NULL
)providerAPI provider name
modelModel name
prompt_contentThe complete prompt sent to the API
response_contentThe complete response received from the API
request_metadataAdditional request metadata (optional)
response_metadataAdditional response metadata (optional)
log_cache_operation()Log cache operations
UnifiedLogger$log_cache_operation(operation, key, size = NULL)operationOperation type: "hit", "miss", "store", "clear"
keyCache key
sizeSize of cached data (optional)
log_cluster_progress()Log cluster annotation progress
UnifiedLogger$log_cluster_progress(cluster_id, stage, progress = NULL)cluster_idCluster identifier
stageCurrent stage
progressProgress information
log_discussion()Log detailed cluster discussion with complete model conversations
UnifiedLogger$log_discussion(cluster_id, event_type, data = NULL)cluster_idCluster identifier
event_typeType of event (start, prediction, consensus, end)
dataEvent data
get_performance_summary()Get performance summary
UnifiedLogger$get_performance_summary()List of performance statistics
cleanup_logs()Clean up old log files
UnifiedLogger$cleanup_logs(force = FALSE)forceForce cleanup even if within file limits
set_level()Set logging level
UnifiedLogger$set_level(level)levelNew logging level: DEBUG, INFO, WARN, ERROR
clone()The objects of this class are cloneable with this method.
UnifiedLogger$clone(deep = FALSE)deepWhether to make a deep clone.
This logger provides centralized, multi-level logging with structured output, log rotation, and performance monitoring capabilities.