/** * Default configuration shipped with @spinajs/log ( Node only ). * * Everything the log package can be tuned with lives here, so the configuration * module surfaces a single, discoverable list of what can be changed: * * 1. a DEFAULT fs provider `fs-log-default` rooted at the working process * directory, so FileTarget works without any user fs configuration, * 2. `logger.file` - the default FileTarget options ( buffer / rotation / * retention tunables ). FileTarget merges these UNDER any per-target * `options`, and a user project config ( loaded last ) overrides them - the * same override chain every other spinajs package uses. * * Config files are merged with array concatenation, so the provider entry is * APPENDED to any providers the user configures. */ /** * Canonical default FileTarget options. This is the SINGLE source of truth for * every log tunable - change a default HERE, never inline in the target or a * strategy. It is exported ( not just embedded in the config below ) so the * FileTarget can fall back to the exact same values when the config file is not * discovered ( eg. isolated unit tests ), and so tests share one definition. */ export declare const LOG_FILE_DEFAULTS: { /** fs provider holding the active log file. */ fs: string; /** Zip the archived file when it is moved to the archive. */ compress: boolean; /** Rotate the active log once it grows past this many bytes ( 1 MB ). */ maxSize: number; /** Flush the in-memory buffer after this many messages. */ maxBufferSize: number; /** Hard cap on buffered messages; oldest are dropped past this so a down sink cannot OOM. */ maxQueueSize: number; /** Periodic flush tick in milliseconds, so a partial buffer is not held. */ flushInterval: number; /** How often ( seconds ) SizeLogArchiveStrategy checks the active log size. */ archiveInterval: number; /** Rotation trigger strategy ( decides WHEN to archive ). */ archiveStrategy: string; /** Retention strategies applied in order after each rotation. */ retentionStrategies: string[]; /** Archives to keep ( CountLogRetentionStrategy ), oldest deleted first. */ maxArchiveFiles: number; /** Max archive age in seconds ( AgeLogRetentionStrategy ), 7 days. */ maxAge: number; }; declare const log: { fs: { defaultProvider: string; providers: { name: string; service: string; basePath: string; }[]; }; logger: { file: { /** fs provider holding the active log file. */ fs: string; /** Zip the archived file when it is moved to the archive. */ compress: boolean; /** Rotate the active log once it grows past this many bytes ( 1 MB ). */ maxSize: number; /** Flush the in-memory buffer after this many messages. */ maxBufferSize: number; /** Hard cap on buffered messages; oldest are dropped past this so a down sink cannot OOM. */ maxQueueSize: number; /** Periodic flush tick in milliseconds, so a partial buffer is not held. */ flushInterval: number; /** How often ( seconds ) SizeLogArchiveStrategy checks the active log size. */ archiveInterval: number; /** Rotation trigger strategy ( decides WHEN to archive ). */ archiveStrategy: string; /** Retention strategies applied in order after each rotation. */ retentionStrategies: string[]; /** Archives to keep ( CountLogRetentionStrategy ), oldest deleted first. */ maxArchiveFiles: number; /** Max archive age in seconds ( AgeLogRetentionStrategy ), 7 days. */ maxAge: number; }; perf: { enabled: boolean; thresholds: { "orm.query": number; "http.request": number; default: number; }; overThresholdLevel: string; underThresholdLevel: string; logCounters: boolean; }; }; }; export default log; //# sourceMappingURL=log.d.ts.map