Documentation / zerotal / logger / LogProvider
Class: LogProvider
Defined in: packages/core/src/provider/LogProvider.ts:52
Service provider that wires logging into the application.
Registers the log binding (a LogManager built from the logging
config, enriched with the app name and environment), installs the
LoggerMiddleware for per-request access logs (unless
logging.requests is false), and subscribes to the core lifecycle events
(AppBooted, and 4xx/5xx RequestHandled / RequestFailed) to route them
through the logger. Subscriptions are torn down on stop.
Feature packages log their own activity (slow queries, job/mail/scheduler
failures, the auth audit trail) through their own bridge, which resolves the
log binding when logging is installed — so the logger knows nothing about them.
Extends
Constructors
Constructor
new LogProvider(
app):LogProvider
Defined in: packages/core/src/provider/ServiceProvider.ts:44
Parameters
app
Returns
LogProvider
Inherited from
Properties
provides
staticprovides: readonly ["log"]
Defined in: packages/core/src/provider/LogProvider.ts:53
Container tokens this provider registers. Required when using the array form of app.defer([Provider, ...]).
Example
static override provides = ['cache'] as const;
Overrides
environments
staticenvironments:AppEnvironment[]
Defined in: packages/core/src/provider/LogProvider.ts:54
Environments in which this provider is active. Defaults to all of them.
Overrides
dependsOn?
staticoptionaldependsOn?: (app) =>ServiceProvider[]
Defined in: packages/core/src/provider/ServiceProvider.ts:35
Other providers this one needs. They are pulled into the application automatically (transitively, de-duplicated) and guaranteed to boot before this provider — so you only have to register the feature you want, not its plumbing. Reference the provider classes directly:
Parameters
app
Returns
Example
static override dependsOn = [FlowProvider];
Inherited from
priority?
staticoptionalpriority?:number
Defined in: packages/core/src/provider/ServiceProvider.ts:42
Boot-order tiebreak among providers with no dependsOn relationship.
Lower boots earlier; defaults to 0. Handy for framework-core providers
(e.g. static override priority = -100).
Inherited from
app
protectedapp:Application
Defined in: packages/core/src/provider/ServiceProvider.ts:44
Inherited from
Methods
onRegister()
onRegister():
void
Defined in: packages/core/src/provider/LogProvider.ts:58
Register container bindings. Runs before any provider boots; do not resolve services here.
Returns
void
Overrides
onBooting()
onBooting():
Promise<void>
Defined in: packages/core/src/provider/LogProvider.ts:69
Resolve and prepare services before the app is considered booted.
Returns
Promise<void>
Overrides
onBooted()
onBooted():
Promise<void>
Defined in: packages/core/src/provider/LogProvider.ts:81
Run once all providers have booted and every binding is available.
Returns
Promise<void>
Overrides
onStopping()
onStopping():
Promise<void>
Defined in: packages/core/src/provider/LogProvider.ts:132
Run when the app begins a graceful shutdown; release resources here.
Returns
Promise<void>
Overrides
onStarting()
onStarting():
Promise<void>
Defined in: packages/core/src/provider/ServiceProvider.ts:53
Run just before the app starts accepting work (e.g. the HTTP server).
Returns
Promise<void>
Inherited from
onStarted()
onStarted():
Promise<void>
Defined in: packages/core/src/provider/ServiceProvider.ts:55
Run once the app has started.
Returns
Promise<void>
Inherited from
onStopped()
onStopped():
Promise<void>
Defined in: packages/core/src/provider/ServiceProvider.ts:59
Run once shutdown is complete.
Returns
Promise<void>
Inherited from
onRequestReceived()
onRequestReceived(
_ctx):Promise<void>
Defined in: packages/core/src/provider/ServiceProvider.ts:66
Called before the middleware pipeline runs.
Parameters
_ctx
Returns
Promise<void>
Inherited from
ServiceProvider.onRequestReceived
onRequestProcessed()
onRequestProcessed(
_ctx):Promise<void>
Defined in: packages/core/src/provider/ServiceProvider.ts:69
Called after the pipeline completes and ctx.response is set.
Parameters
_ctx
Returns
Promise<void>
Inherited from
ServiceProvider.onRequestProcessed
onResponseSent()
onResponseSent(
_ctx):Promise<void>
Defined in: packages/core/src/provider/ServiceProvider.ts:72
Called after the response has been sent to the client.
Parameters
_ctx
Returns
Promise<void>
Inherited from
ServiceProvider.onResponseSent
replContext()
replContext():
Record<string,unknown>
Defined in: packages/core/src/provider/ServiceProvider.ts:81
Variables to expose in bun zt repl.
Override in any provider to make its facades available by name in the REPL session.
Returns
Record<string, unknown>
Example
override replContext() { return { DB, Mail }; }