boxlang-core-dev-logginglisted
Install: claude install-skill ortus-boxlang/skills
# BoxLang Logging
## Overview
BoxLang uses a centralized logging system built on **Logback** (SLF4J implementation).
All logging MUST go through `LoggingService` — never use `System.out.println()` or
create SLF4J `Logger` instances directly.
Key classes:
- `ortus.boxlang.runtime.logging.LoggingService` — singleton service managing all loggers
- `ortus.boxlang.runtime.logging.BoxLangLogger` — wrapper around SLF4J `LocationAwareLogger`
## Getting a Logger
### Pre-Configured Common Loggers
```java
import ortus.boxlang.runtime.logging.BoxLangLogger;
import ortus.boxlang.runtime.services.LoggingService;
LoggingService loggingService = BoxRuntime.getInstance().getLoggingService();
// Common loggers — already initialized, ready to use
BoxLangLogger logger = loggingService.RUNTIME_LOGGER; // Core runtime events
BoxLangLogger logger = loggingService.ASYNC_LOGGER; // Async operations
BoxLangLogger logger = loggingService.CACHE_LOGGER; // Cache operations
BoxLangLogger logger = loggingService.EXCEPTION_LOGGER; // Exception tracking
BoxLangLogger logger = loggingService.DATASOURCE_LOGGER; // Database operations
BoxLangLogger logger = loggingService.MODULES_LOGGER; // Module loading/lifecycle
BoxLangLogger logger = loggingService.SCHEDULER_LOGGER; // Scheduled tasks
BoxLangLogger logger = loggingService.APPLICATION_LOGGER;// Application-level events
```
### Creating Named Loggers
```java
LoggingService loggingService = BoxRuntime.getInstance().getLoggingService