Log Levels Configuration
Log levels control which messages are processed and logged. Set the minimum level to filter out less important messages and optimize performance.
Available Log Levels
ByteHide Logger supports six log levels in order of severity:
| Level | Severity | Use Case |
|---|---|---|
LogLevel.TRACE | Low | Most detailed diagnostic information |
LogLevel.DEBUG | Low | Detailed diagnostic information |
LogLevel.INFO | Medium | General information messages |
LogLevel.WARN | High | Warning messages for potential issues |
LogLevel.ERROR | Critical | Error messages for failures |
LogLevel.CRITICAL | Critical | Critical errors that may cause termination |
Setting Minimum Log Level
Configure the minimum level:
Java
import com.bytehide.logs.models.LogLevel;
Log.setMinimumLevel(LogLevel.INFO); // Default: LogLevel.WARNimport com.bytehide.logs.models.LogLevel;
Log.setMinimumLevel(LogLevel.INFO); // Default: LogLevel.WARNLevel Filtering Behavior
When you set a minimum level, only messages at that level or higher are processed:
Java
// Set minimum level to Info
Log.setMinimumLevel(LogLevel.INFO);
Log.trace("This will be ignored"); // ❌ Below minimum
Log.debug("This will be ignored"); // ❌ Below minimum
Log.info("This will be logged"); // ✅ At minimum level
Log.warn("This will be logged"); // ✅ Above minimum
Log.error("This will be logged"); // ✅ Above minimum
Log.critical("This will be logged"); // ✅ Above minimum// Set minimum level to Info
Log.setMinimumLevel(LogLevel.INFO);
Log.trace("This will be ignored"); // ❌ Below minimum
Log.debug("This will be ignored"); // ❌ Below minimum
Log.info("This will be logged"); // ✅ At minimum level
Log.warn("This will be logged"); // ✅ Above minimum
Log.error("This will be logged"); // ✅ Above minimum
Log.critical("This will be logged"); // ✅ Above minimumEnvironment-Specific Configuration
Development Environment
Java
Log.setMinimumLevel(LogLevel.DEBUG); // Verbose logging for debuggingLog.setMinimumLevel(LogLevel.DEBUG); // Verbose logging for debuggingProduction Environment
Java
Log.setMinimumLevel(LogLevel.WARN); // Only warnings and errorsLog.setMinimumLevel(LogLevel.WARN); // Only warnings and errorsDynamic Configuration
Java
String environment = System.getenv("APP_ENVIRONMENT");
boolean isDevelopment = "development".equalsIgnoreCase(environment);
Log.setMinimumLevel(isDevelopment ? LogLevel.DEBUG : LogLevel.ERROR);String environment = System.getenv("APP_ENVIRONMENT");
boolean isDevelopment = "development".equalsIgnoreCase(environment);
Log.setMinimumLevel(isDevelopment ? LogLevel.DEBUG : LogLevel.ERROR);Usage Examples
Trace Level
Java
Log.trace("Entering method processOrder with orderId: " + orderId);Log.trace("Entering method processOrder with orderId: " + orderId);Debug Level
Java
Log.debug("Database query executed in " + elapsed + "ms");Log.debug("Database query executed in " + elapsed + "ms");Info Level
Java
Log.info("User " + userId + " logged in successfully");Log.info("User " + userId + " logged in successfully");Warn Level
Java
Log.warn("API rate limit approaching: " + current + "/" + max);Log.warn("API rate limit approaching: " + current + "/" + max);Error Level
Java
Log.error("Failed to process payment for order " + orderId);Log.error("Failed to process payment for order " + orderId);Critical Level
Java
Log.critical("Database connection lost. Application shutting down.");Log.critical("Database connection lost. Application shutting down.");Performance Impact
| Level | Performance | Use Case |
|---|---|---|
Trace/Debug | Highest overhead | Development only |
Info | Moderate overhead | Development/staging |
Warn | Low overhead | Production (recommended) |
Error/Critical | Minimal overhead | High-performance production |
Best Practices
Level Selection Guidelines
- Development: Use
DEBUGorINFOfor detailed diagnostics - Staging: Use
INFOorWARNfor testing scenarios - Production: Use
WARNorERRORfor optimal performance - High-traffic: Use
ERRORorCRITICALfor minimal overhead