Second-Me/lpm_kernel/common/logging.py
justcrab e778ebf82f
feat(logging): separate training log (#83)
* desparate part of traing logs v1

* fix train.py log

* optimize logging manage && fix monitor log

* feat(logging): desparate part of training logs v2

* delete no use code

* merge conflic

* delete chinese

---------

Co-authored-by: Ye Xiangle <yexiangle@mail.mindverse.ai>
Co-authored-by: Crabboss Mr <crabbossmr@CrabbossdeMacBook-Air.local>
2025-03-27 10:12:11 +08:00

58 lines
1.9 KiB
Python

# common/logging.py
import logging
import logging.config
import os
import sys
from lpm_kernel.configs.logging import LOGGING_CONFIG, LOG_BASE_DIR, TRAIN_LOG_DIR, rename_existing_log_file
def setup_logging():
try:
# Ensure log directories exist
os.makedirs(LOG_BASE_DIR, exist_ok=True)
os.makedirs(TRAIN_LOG_DIR, exist_ok=True)
# Rename existing log file if needed
rename_existing_log_file()
# Ensure directory permissions are correct
os.chmod(TRAIN_LOG_DIR, 0o755)
os.chmod(LOG_BASE_DIR, 0o755)
print(f"Log directory: {TRAIN_LOG_DIR}", file=sys.stderr)
print(
f"Log file: {LOGGING_CONFIG['handlers']['file']['filename']}",
file=sys.stderr,
)
except Exception as e:
print(f"Error creating log directory: {e}", file=sys.stderr)
# If unable to create directory, use standard output
LOGGING_CONFIG["handlers"]["file"] = LOGGING_CONFIG["handlers"]["console"]
try:
# Configure logging
logging.config.dictConfig(LOGGING_CONFIG)
root_logger = logging.getLogger()
root_logger.info("Logging system initialized successfully")
print(f"Log level: {root_logger.getEffectiveLevel()}", file=sys.stderr)
print(
f"Log handlers: {[h.__class__.__name__ for h in root_logger.handlers]}",
file=sys.stderr,
)
except Exception as e:
print(f"Error configuring logging: {e}", file=sys.stderr)
# If configuration fails, use basic configuration
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(filename)s:%(lineno)d - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
)
# Get module logger
logger = logging.getLogger(__name__)
logger.info("Logging module initialization complete")
return logger
# Initialize global logger
logger = setup_logging()