Renamed the project from "mother-utils/motherlog" to "stone-utils/stonelog" in the SonarQube configuration file. This ensures accurate project identification and alignment with the repository's purpose.
Moved the test binary from "tests" to "testbin" for better organization. Updated `sonar-project.properties` to exclude the new directory from analysis and adjusted test references accordingly.
Introduce tests for handling panic and fatal log scenarios, including recovery from panics and execution of external processes to test fatal behavior. Adjusted logging levels and prefixes to ensure consistency for PANIC logs.
Ensure that setting an invalid log level with SetLogLevel does not affect existing log behavior. Additional test cases verify that only appropriate log messages are displayed based on the current log level.
This test verifies that logs below the ERROR level are properly muted when plaintext logging is enabled without JSON formatting. It ensures that log output adheres to the configured log level settings.
Added validation to ensure log levels are within valid bounds in `SetLogLevel`. Simplified prefix mapping logic by removing the fallback to INFO level. Expanded test coverage with new test cases for plain text and JSON log outputs.
This update includes `test-report.out` and `coverage.out` for improved test and coverage integration with SonarQube analysis. It ensures better reporting and alignment with project quality standards.
Introduce unit tests to verify the string and color outputs of StoneLevel. These tests ensure the correct mapping of log levels to their respective string values and color codes.
Added `sonar.qualitygate.wait=true` to enforce the build process waits for SonarQube's quality gate results. This ensures code quality checks are completed before proceeding.
Replaced the switch-case with a map for StoneLevel to prefix mapping. This reduces redundancy, improves readability, and maintains default handling for unsupported levels. Functionality remains unchanged.
Introduce a logging system supporting multiple severity levels, JSON formatting, and customizable prefixes and suffixes inspired by Dr. Stone. Includes random success and failure quotes to make logging more dynamic and engaging.
This change ensures that the full Git history is fetched during the checkout step in `ci-tag.yml`, `ci-basic.yml`, and `ci-protected.yml`. It is necessary for workflows that rely on complete commit history, such as version tagging or historical analysis.
Replaced `go build -o ./bin/app main.go` with `go build ./...` across all CI workflow files. This ensures all packages in the module are built, improving compatibility and consistency in the build process.