Skip to content

Conversation

woshigaopp
Copy link
Contributor

This pull request introduces the new AutoMQ Log Uploader module, which provides asynchronous S3 log upload functionality for Log4j 1.x applications. It refactors and relocates key log uploading classes, adds configuration constants, and implements a robust configuration and startup process for the uploader. The changes are grouped into module introduction/documentation, configuration and integration, and codebase refactoring.

Module introduction & documentation:

  • Added a comprehensive README.md for the new automq-log-uploader module, detailing its purpose, integration steps, configuration options, and extension points for custom setups.

Configuration and integration:

  • Added build.gradle for the new module, specifying dependencies and repository settings for building and integrating the uploader.
  • Introduced LogConfigConstants.java to centralize all configuration keys and defaults for S3 log uploading, improving maintainability and clarity.
  • Added DefaultS3LogConfig.java, which loads and normalizes configuration from properties, constructs the S3 object storage URI, and sets up leader election strategies for log uploading and cleanup.

Codebase refactoring and improvements:

  • Refactored and relocated LogUploader.java and LogRecorder.java from the automq-shell submodule to the new automq-log-uploader package, decoupling them from application-specific dependencies and improving error messages in validation logic. [1] [2] [3]
  • Simplified the startup and shutdown logic in LogUploader.java, replacing the singleton/bean pattern with explicit configuration and thread management, and removed unused async/future initialization code. [1] [2]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant