libjdk is a comprehensive C++ implementation of the Java Development Kit (JDK), providing native C++ libraries that mirror the functionality of Java's core libraries and modules. While it provides Java-like APIs, it runs as native C++ code without requiring a Java Virtual Machine.
This project provides a complete C++ implementation of Java's logging functionality, including:
- Logger Hierarchy: Hierarchical logger configuration with parent-child relationships
- Log Levels: TRACE, DEBUG, INFO, WARN, ERROR, FATAL levels
- Handlers: Console, file, and custom log handlers
- Formatters: Configurable log message formatting
- Filters: Log filtering capabilities
- Configuration: XML and properties-based configuration
- Performance: High-performance logging with minimal overhead
- ✅ Cross-platform Support: Windows, Linux, and macOS
- ✅ CMake Build System: Modern, portable build configuration
- ✅ Comprehensive Testing: Extensive test suite included
- ✅ OpenJDK Compatible: Based on OpenJDK 17.35
- ✅ GPL Licensed: Free software with Classpath exception
- java.base: Core Java functionality (required)
java.logging/
├── main/ # Main source code
│ ├── classes/ # Java class implementations
│ ├── include/ # Header files
│ └── dependencies.txt # Module dependencies
├── test/ # Test suite
├── legal/ # Legal notices and licenses
└── CMakeLists.txt # Build configuration
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
This project is licensed under the GNU General Public License v2 with the Classpath exception, allowing linking with proprietary software. See the LICENSE file for details.
This project includes code from various open source projects. See the legal/ directory for detailed licensing information for each component.