Quartz.NETQuartz.NET
Home
Features
Discussions
NuGet
GitHub
Home
Features
Discussions
NuGet
GitHub
  • Getting Started

    • Quartz 3 Quick Start
    • Tutorial
      • Using Quartz
      • Library Overview
      • Jobs And Triggers
      • More About Jobs
      • More About Triggers
      • Execution Groups
      • Node Affinity (Preferred Node)
      • Simple Triggers
      • Cron Triggers
      • RecurrenceTrigger
      • Trigger and Job Listeners
      • Scheduler Listeners
      • Job Stores
      • Tuning the Scheduler
      • Configuration, Resource Usage and SchedulerFactory
      • Advanced (Enterprise) Features
    • Configuration Reference
    • JSON Configuration
    • Multi-Tenancy
    • Frequently Asked Questions
    • Best Practices
    • Tenancy Patterns
    • Troubleshooting
    • API Documentation
    • Database Schema
    • Database Schema Changes
    • Migration Guide
    • Miscellaneous Features
  • How To's

    • One-Off Job
    • Multiple Triggers
    • Job Template
    • Using the CronTrigger
    • Rescheduling Jobs
  • Packages

    • Quartz Core Additions

      • Dashboard
      • Jobs
      • Serialization (System.Text.Json)
      • Serialization (Newtonsoft Json.NET)
      • Plugins
    • Integrations

      • ASP.NET Core Integration
      • Hosted Services Integration
      • Microsoft DI Integration
      • Multiple Schedulers with Microsoft DI
      • OpenTelemetry Integration
      • OpenTracing Integration
      • Redis Lock Handler
      • TimeZoneConverter Integration
    • 3rd Party Plugins for Quartz
  • Next Release

    • Quartz 4.x
      • Quartz 4 Quick Start
      • Tutorial
        • Using Quartz
        • Jobs And Triggers
        • More About Jobs & JobDetails
        • Job Data
        • More About Triggers
        • Querying Jobs and Triggers
        • Simple Triggers
        • Cron Triggers
        • RecurrenceTrigger
        • Time and TimeProvider
        • Trigger and Job Listeners
        • Scheduler Listeners
        • Job Execution Middleware
        • Job Stores
        • Configuration, Resource Usage and Building a Scheduler
        • Building a Scheduler Without a Host
        • Clustering
        • Execution Groups
        • Node Affinity (Preferred Node)
        • Testing
      • Configuration Reference
      • JSON Configuration
      • Cron Expression Reference
      • Multi-Tenancy
      • Frequently Asked Questions
      • Best Practices
      • Before You Go Live
      • Operating a Cluster
      • Log Events
      • Tenancy Patterns
      • Database Schema
      • Database Schema Changes
      • Migration Guide
      • Troubleshooting
      • How To's
        • One-Off Job
        • Rescheduling Jobs
        • Retrying Failed Jobs
        • Multiple Triggers
        • Job Template
        • Running Quartz under Aspire
        • Quartz.NET with Wolverine
        • Embedding Quartz in a Library
        • Running under an External Leader Election
        • Publishing Trimmed and Native AOT
        • Extending Quartz: what is open, what is closed, and how to ask
        • A Job Store of Your Own
        • A Driver Delegate for a New Database
        • Persisting a Custom Trigger Type
        • A Lock Handler of Your Own
      • Packages

        • Quartz Core Additions

          • Jobs
          • Serialization (System.Text.Json)
          • JSON Serialization
          • Plugins
        • Integrations

          • Aspire Integration
          • ASP.NET Core Integration
          • HTTP API
          • HTTP Client
          • Dashboard
          • Hosted Services Integration
          • Microsoft DI Integration
          • Multiple Schedulers with Microsoft DI
          • Observability
          • Redis Lock Handler
          • TimeZoneConverter Integration
        • 3rd Party Plugins for Quartz
  • Old Releases

    • Quartz 2.x
      • Quartz 2 Quick Start
      • Tutorial
        • Lesson 1: Using Quartz
        • Lesson 2: Jobs And Triggers
        • Lesson 3: More About Jobs & JobDetails
        • Lesson 4: More About Triggers
        • Lesson 5: SimpleTrigger
        • Lesson 6: CronTrigger
        • Lesson 7: TriggerListeners and JobListeners
        • Lesson 8: SchedulerListeners
        • Lesson 9: JobStores
        • Lesson 10: Configuration, Resource Usage and SchedulerFactory
        • Lesson 11: Advanced (Enterprise) Features
        • Lesson 12: Miscellaneous Features of Quartz
        • CronTrigger Tutorial
      • Configuration Reference
      • Migration Guide
      • API Documentation
    • Quartz 1.x
      • Tutorial
        • Lesson 1: Using Quartz
        • Lesson 2: Jobs And Triggers
        • Lesson 3: More About Jobs & JobDetails
        • Lesson 4: More About Triggers
        • Lesson 5: SimpleTrigger
        • Lesson 6: CronTrigger
        • Lesson 7: TriggerListeners and JobListeners
        • Lesson 8: SchedulerListeners
        • Lesson 9: JobStores
        • Lesson 10: Configuration, Resource Usage and SchedulerFactory
        • Lesson 11: Advanced (Enterprise) Features
        • Lesson 12: Miscellaneous Features of Quartz
      • API Documentation
  • License

Log Events

Every message Quartz.NET writes carries a stable event id. An id is what an operator filters, alerts and dashboards on: a message can be reworded and a template can gain a placeholder, but the id that came before goes on meaning the same event. This page is every id that ships, so a line in your log can be looked up rather than guessed at.

Ids are allocated in ranges, one set per package, so two Quartz packages loaded into the same process never disagree about what an id means:

RangePackageArea
1000–1999Quartzscheduler core
2000–2999Quartzin-memory store
3000–3499QuartzADO.NET store
3500–3599Quartzclustering
3600–3699Quartzmisfire handling
3700–3799Quartzlock handlers
4000–4999Quartzconfiguration, dependency injection and hosting
5000–5999Quartzserialization, type loading, triggers, calendars and utilities
6000–6999Quartz.Pluginsplugins
7000–7999Quartz.Jobsjobs
8000–8999Quartz.Extensions.RedisRedis
9000–9099Quartz.AspNetCorethe HTTP API
9100–9199Quartz.Dashboardthe dashboard

Quartz logs through Microsoft.Extensions.Logging and writes nothing above Error, so a LogLevel.Critical in your log is never Quartz's. Under a host it uses whatever the application already configured; a standalone scheduler is told where to log with LogProvider.SetLogProvider(loggerFactory) — see Observability.

Filtering by id

ILoggerFactory's own filters select by category and level, not by id, so filtering on an id is the logging provider's job — Serilog's EventId.Id property, an OpenTelemetry log processor, or a query in whatever collects the logs. The categories are the declaring types, which is why the table below names each event's source as well.

Every event

Generated from the snapshots the log catalogue tests keep, so this table cannot drift from what the packages emit. Adding an event, renumbering one or rewording a message is a reviewed diff in src/*/Verify/LogEventCatalogTest_*.verified.txt, and dotnet fallout DocsLogEvents brings this page along.

A {Placeholder} in a template is a structured-logging property, and its name is the property name a structured sink records — which is what makes matching on the shape of a message reliable where matching on its text is not.

IdLevelPackageMessage template
1000InformationQuartz"JobFactory set to: {Value}"
1001InformationQuartz"Quartz Scheduler created"
1002InformationQuartz"Scheduler {SchedulerIdentifier} started."
1003ErrorQuartz"Unable to start scheduler after startup delay."
1004InformationQuartz"Scheduler {SchedulerIdentifier} paused."
1005InformationQuartz"Scheduler {SchedulerIdentifier} shutting down."
1006WarningQuartz"Scheduler {SchedulerIdentifier} gave up waiting for its running jobs, which are still executing. Their job store updates may not complete, and the store is about to be shut down under them."
1007InformationQuartz"Scheduler {SchedulerIdentifier} Shutdown complete."
1008ErrorQuartz"Error while notifying SchedulerListener of error"
1009ErrorQuartz" Original error (for notification) was: {Message}"
1010ErrorQuartz"Error while notifying SchedulerListener of unscheduled job. Trigger={TriggerKey}"
1011ErrorQuartz"Error while notifying SchedulerListener of paused group: {Group}"
1012ErrorQuartz"Error while notifying SchedulerListener of trigger in error state. Trigger={TriggerKey}"
1013ErrorQuartz"Error while notifying SchedulerListener of job triggers in error state. Job={JobKey}"
1014ErrorQuartz"Error while notifying SchedulerListener of paused trigger. Trigger={TriggerKey}"
1015ErrorQuartz"Error while notifying SchedulerListener of resumed trigger. Trigger={TriggerKey}"
1016ErrorQuartz"Error while notifying SchedulerListener of paused job. Job={JobKey}"
1017ErrorQuartz"Error while notifying SchedulerListener of resumed job: {JobKey}"
1018ErrorQuartz"Error while notifying SchedulerListener of resumed group: {Group}"
1019ErrorQuartz"Error while notifying SchedulerListener of {Action}"
1020WarningQuartz"Scheduler {SchedulerIdentifier} is shutting down with {ExecutingJobCount} job(s) still executing, and is not waiting for them. Pass waitForJobsToComplete: true (or set QuartzHostedServiceOptions.WaitForJobsToComplete) to let them finish; ShutdownJobInterruption is {ShutdownJobInterruption}, which decides whether they are asked to stop rather than simply abandoned."
1021WarningQuartz"Something is subscribed to the DiagnosticListener named '{DiagnosticListenerName}', which Quartz 3.x published on and 4.x does not. Nothing will arrive there. 4.x emits spans on ActivitySource("{ActivitySourceName}") and metrics on Meter("{MeterName}") -- subscribe with AddSource(QuartzInstrumentation.ActivitySourceName) and AddMeter(QuartzInstrumentation.MeterName), and drop OpenTelemetry.Instrumentation.Quartz, which emits nothing here."
1030DebugQuartz"Batch acquisition of {TriggerCount} triggers"
1031ErrorQuartz"quartzSchedulerThreadLoop: RuntimeException {Message}"
1032ErrorQuartz"DbException while firing trigger {Trigger}"
1033DebugQuartz"ThreadPool.TryRun() returned false due to scheduler shutdown, completing trigger"
1034ErrorQuartz"ThreadPool.TryRun() returned false"
1035ErrorQuartz"Runtime error occurred in main trigger firing loop."
1036ErrorQuartz"Error releasing acquired trigger '{TriggerKey}' {Context}"
1050DebugQuartz"Calling Execute on job {JobKey}"
1051InformationQuartz"Job {JobDetailKey} was cancelled"
1052ErrorQuartz"Job {JobDetailKey} threw a JobExecutionException: "
1053ErrorQuartz"Job {JobDetailKey} threw an unhandled Exception: "
1054DebugQuartz"Trigger instruction : {InstructionCode}"
1055DebugQuartz"Rescheduling trigger to reexecute"
1056InformationQuartz"Job of trigger {TriggerKey} failed; retry {Attempt} of {MaxAttempts} scheduled for {RetryTimeUtc}"
1070InformationQuartz"Initialized Scheduler Signaller of type: {Type}"
1071ErrorQuartz"Error notifying listeners of trigger misfire."
1080ErrorQuartz"{Message} (scheduler: {SchedulerName})"
1081ErrorQuartz"{Message} (scheduler: {SchedulerName}, trigger: {TriggerKey}, job: {JobKey}, fire instance: {FireInstanceId})"
1090WarningQuartz"Job {JobKey} exceeded the {Budget} it was allowed; interrupting fire instance {FireInstanceId}"
1091DebugQuartz"Job {JobKey} finished before the interrupt its timeout asked for reached fire instance {FireInstanceId}"
1092ErrorQuartz"Interrupting timed out job {JobKey}, fire instance {FireInstanceId}, failed"
2000InformationQuartz"RAMJobStore initialized."
2001WarningQuartz"Skipping trigger {TriggerKey}: its job {JobKey} no longer exists"
2002WarningQuartz"Trigger {TriggerKey} references calendar '{CalendarName}', which does not exist - the fire was skipped and the trigger will not run until the calendar is added or the reference is cleared."
2003DebugQuartz"Deleting trigger"
2004DebugQuartz"Deleting cancelled - trigger still active"
2005InformationQuartz"Trigger {TriggerKey} set to ERROR state."
2006InformationQuartz"All triggers of Job {JobKey} set to ERROR state."
3000InformationQuartz"Detected SQLite usage, changing to use SqliteLockHandler for in-memory locking"
3001InformationQuartz"With SQLite we need to set AcquireTriggersWithinLock to true, changing"
3002InformationQuartz"Detected usage of SQLiteDelegate - forcing transaction isolation level to 'Serializable'"
3003InformationQuartz"With SQLite all operations must be serialized, setting LockAllOperations to true"
3004WarningQuartz"The configured transaction isolation level applies only to connections the job store opens itself: an operation running on a connection enlisted by the application uses that transaction's isolation level instead."
3005InformationQuartz"Detected usage of SqlServerDelegate - defaulting 'selectWithLockSQL' to '{DefaultLockSql}'."
3006InformationQuartz"Using db table-based data access locking (synchronization) via {LockHandlerType}."
3007InformationQuartz"Using thread monitor-based data access locking (synchronization) via {LockHandlerType}."
3008WarningQuartz"A row-lock statement is configured, but SQLite serializes callers in process rather than by locking a row, so the statement is ignored."
3009WarningQuartz"A row-lock statement is configured, but lock handler {LockHandlerType} was supplied rather than built by the job store, so the statement is ignored. Pass it to the handler's constructor, or remove the lock handler and let the store choose one."
3010WarningQuartz"Accepting enlisted transactions with SQLite keeps in-process locking: SqliteLockHandler releases the lock when the scheduling call returns, while the application transaction still holds the SQLite writer lock, so a concurrent scheduler operation can fail with 'database is locked' until that transaction completes. Keep enlisted transactions short, or use a database that supports row locking."
3011WarningQuartz"Accepting enlisted transactions with lock handler {LockHandlerType}, which does not lock in the database. Its locks are released before the application commits its transaction, so concurrent callers can act on scheduling data that is not visible to them yet."
3012WarningQuartz"Detected usage of SqlServerDelegate and UpdateRowLockHandler, removing 'quartz.jobStore.lockHandler.type' would allow more efficient SQL Server specific (UPDLOCK,ROWLOCK) row access"
3013WarningQuartz"Detected usage of SQL Server provider without SqlServerDelegate, SqlServerDelegate would provide better performance"
3014InformationQuartz"Successfully validated presence of {SchemaObjectCount} schema objects"
3015ErrorQuartz"Failure occurred during job recovery: {ExceptionMessage}"
3016WarningQuartz"Database connection Shutdown unsuccessful."
3017ErrorQuartz"Error returning lock: {ExceptionMessage}"
3018InformationQuartz"Freed {Count} triggers from 'acquired' / 'blocked' state."
3019InformationQuartz"Recovering {Count} jobs that were in-progress at the time of the last shut-down."
3020InformationQuartz"Recovery complete."
3021InformationQuartz"Removed {Count} 'complete' triggers."
3022InformationQuartz"Removed {Count} stale fired job entries."
3023ErrorQuartz"Error recovering stale acquired trigger '{TriggerKey}'"
3024InformationQuartz"Recovered {RecoveredCount} trigger(s) stuck in ACQUIRED state (stale threshold: {StaleThreshold})"
3025InformationQuartz"Trigger {TriggerKey} reset from ERROR state to: {NewState}"
3026ErrorQuartz"Error retrieving job, setting trigger state to ERROR."
3027ErrorQuartz"Unable to set trigger state to ERROR."
3028WarningQuartz"Trigger {TriggerKey} returned null on nextFireTime and yet still exists in DB!"
3029ErrorQuartz"Caught job persistence exception: {ExceptionMessage}"
3030ErrorQuartz"Caught exception: {ExceptionMessage}"
3031InformationQuartz"Not firing trigger {TriggerKey} for [DisallowConcurrentExecution] job {JobKey} - already executing on another node."
3032WarningQuartz"Trigger {TriggerKey} references calendar '{CalendarName}', which does not exist - the fire was skipped and the trigger will not run until the calendar is added or the reference is cleared."
3033InformationQuartz"Trigger {Trigger} set to ERROR state."
3034InformationQuartz"All triggers of Job {Job} set to ERROR state."
3035InformationQuartz"ConnectionAndTransactionHolder passed to RollbackConnection was null, ignoring"
3036DebugQuartz"ConnectionAndTransactionHolder passed to CommitConnection was null, ignoring"
3037ErrorQuartz"RetryExecuteInLocalTransactionLock: RuntimeException {ExceptionMessage}"
3038WarningQuartz"Transient exception on attempt {Attempt} of {TotalAttempts} in ExecuteInLocalTransactionLock, will retry after {RetryInterval}"
3039InformationQuartz"Created the schema objects missing under table prefix '{TablePrefix}'"
3040DebugQuartz"Schema creation under table prefix '{TablePrefix}' failed, but the schema validates, so another node created it first"
3041DebugQuartz"Schema creation under table prefix '{TablePrefix}' failed on attempt {Attempt} of {Attempts} and the schema does not validate yet, retrying"
3042WarningQuartz"Lock handler {LockHandlerType} failed to shut down, so whatever it opened is still open."
3100DebugQuartz"Prepared SQL: {Sql}"
3110ErrorQuartz"Unexpected exception closing Connection. This is often due to a Connection being returned after or during shutdown."
3111DebugQuartz"Exception disposing connection or transaction. This is often due to a connection being returned after or during shutdown."
3112DebugQuartz"Rollback skipped - transaction is no longer connected, database will have aborted it"
3113DebugQuartz"Rollback failed due to transient error"
3114ErrorQuartz"Couldn't rollback ADO.NET connection. {ExceptionMessage}"
3130InformationQuartz"ExternalTransactionJobStore initialized."
3131WarningQuartz"Database connection shutdown unsuccessful."
3140InformationQuartz"LocalTransactionJobStore initialized."
3150WarningQuartz"Couldn't find calendar with name '{CalendarName}'"
3151DebugQuartz"Deleting job: {JobKey}"
3152DebugQuartz"No job for trigger '{TriggerKey}'"
3153DebugQuartz"Adding TriggerPersistenceDelegate of type: {Type}"
3154WarningQuartz"Misfired trigger '{TriggerKey}' has no {TriggerType} row and is skipped"
3155WarningQuartz"Batched statement execution failed, retrying {StatementCount} statement(s) individually"
3156DebugQuartz"Schema under table prefix '{TablePrefix}' is complete with {SchemaObjectCount} objects, so nothing was created"
3500WarningQuartz"Transient exception on attempt {Attempt} of {TotalAttempts} of the cluster check-in, will retry after {RetryInterval}"
3501WarningQuartz"This scheduler instance ({InstanceId}) is still active but was recovered by another instance in the cluster. This may cause inconsistent behavior."
3502WarningQuartz"Found orphaned fired triggers for instance: {SchedulerInstanceId}"
3503WarningQuartz"ClusterManager: detected {Count} failed or restarted instances."
3504InformationQuartz"ClusterManager: Scanning for instance {SchedulerInstanceId}'s failed in-progress jobs."
3505InformationQuartz"ClusterManager: Deferring recovery of [DisallowConcurrentExecution] job {JobKey} (fired trigger {FireInstanceId}) — may still be executing on instance {SchedulerInstanceId}."
3506WarningQuartz"ClusterManager: failed job {JobKey} no longer exists, cannot schedule recovery."
3507WarningQuartz"ClusterManager: ......Freed {Count} acquired trigger(s)."
3508WarningQuartz"ClusterManager: ......Deleted {Count} complete trigger(s)."
3509WarningQuartz"ClusterManager: ......Scheduled {Count} recoverable job(s) for recovery."
3510WarningQuartz"ClusterManager: ......Cleaned-up {Count} other failed job(s)."
3511WarningQuartz"ClusterManager: ......Deferred recovery of {Count} executing [DisallowConcurrentExecution] job(s)."
3512InformationQuartz"ClusterManager: Released {Count} auto-pinned trigger(s) from dead node '{InstanceId}' for re-acquisition."
3513DebugQuartz"Check-in complete."
3514ErrorQuartz"Error managing cluster: {ExceptionMessage}"
3515WarningQuartz"Scheduler instance ({InstanceId}) was failed out by instance {RecoveringInstanceId}, the only other instance with a scheduler state row and so the only one that could have. Its own row has been written back; the work that instance recovered is not recovered again here."
3516WarningQuartz"Scheduler instance ({InstanceId}) was failed out by another instance, which cannot be identified: {OtherInstanceCount} other instances have scheduler state rows and no row records which of them recovered this one. Its own row has been written back; the work that instance recovered is not recovered again here."
3600InformationQuartz"Handling the first {Count} triggers that missed their scheduled fire-time. More misfired triggers remain to be processed."
3601InformationQuartz"Handling {Count} trigger(s) that missed their scheduled fire-time."
3602DebugQuartz"Found 0 triggers that missed their scheduled fire-time."
3603ErrorQuartz"Error preparing misfire update for trigger: '{TriggerKey}'"
3604ErrorQuartz"Error updating {Count} misfired trigger(s)"
3605DebugQuartz"Found {MisfireCount} triggers that missed their scheduled fire-time."
3606DebugQuartz"Scanning for misfires..."
3607ErrorQuartz"Error handling misfires: {ExceptionMessage}"
3700DebugQuartz"Lock '{LockName}' is desired by: {RequestorId}"
3701DebugQuartz"Lock '{LockName}' given to: {RequestorId}"
3702DebugQuartz"Lock '{LockName}' Is already owned by: {RequestorId}"
3703DebugQuartz"Lock '{LockName}' returned by: {RequestorId}"
3704WarningQuartz"Lock '{LockName}' attempt to return by: {RequestorId} -- but not owner!"
3705WarningQuartz"stack-trace of wrongful returner: {Stacktrace}"
3706DebugQuartz"Lock '{LockName}' is being obtained: {RequestorId}"
3707DebugQuartz"Inserting new lock row for lock: '{LockName}' being obtained by thread: {RequestorId}"
3708DebugQuartz"Lock '{LockName}' was not obtained by: {RequestorId}{RetryMessage}"
3709DebugQuartz"Lock '{LockName}' already owned by: {RequestorId} -- but not owner!"
3710DebugQuartz"stack-trace of wrongful returner: {StackTrace}"
3711DebugQuartz"Lock '{LockName}' was not obtained by: {RequestorId}"
3712DebugQuartz"Lock '{LockName}' reentrant acquisition by: {RequestorId} (count: {LockCount})"
3713DebugQuartz"Lock '{LockName}' reentrant release by: {RequestorId} (remaining: {LockCount})"
3714DebugQuartz"Lock '{LockName}' was not obtained by: {RequestorId} - will try again."
3715DebugQuartz"Inserting new lock row for lock: '{LockName}' being obtained: {RequestorId}"
4000DebugQuartz"The shared-database check could not read what database scheduler '{SchedulerName}' talks to."
4001WarningQuartz"Scheduler '{SchedulerName}' (data source '{DataSource}', table prefix '{TablePrefix}') and scheduler '{OtherSchedulerName}' (data source '{OtherDataSource}', table prefix '{OtherTablePrefix}') use the same database with different table prefixes, so neither can see the other's rows. Schedulers sharing a database are normally told apart by SCHED_NAME and share one table prefix; separate table sets are legal, and if that is what you meant this warning is expected. If it is not, the scheduler with the wrong prefix starts cleanly, passes schema validation against the tables it was pointed at, and never sees its own data."
4002InformationQuartz"Quartz Scheduler {Version} - '{SchedulerName}' with instanceId '{SchedulerInstanceId}' initialized"
4003InformationQuartz"Using thread pool '{ThreadPoolType}', size: {ThreadPoolSize}"
4004InformationQuartz"Using job store '{JobStoreType}', supports persistence: {SupportsPersistence}, clustered: {Clustered}"
4005ErrorQuartz"Couldn't generate instance id"
4006ErrorQuartz"Got another exception while shutting down after instantiation exception"
4007InformationQuartz"Host name '{HostName}' was too long, shortened to '{Newname}'"
4008WarningQuartz"Failed to return a job after its creation failed; the original error follows"
4009WarningQuartz"{Problem}"
4010DebugQuartz"Producing instance of Job '{JobKey}', class={JobFullName}"
4011DebugQuartz"TaskSchedulingThreadPool configured with max concurrency of {MaxConcurrency} and TaskScheduler {SchedulerName}."
4012ErrorQuartz"A task handed to the thread pool faulted."
4013DebugQuartz"Shutting down threadpool..."
4014DebugQuartz"No executing jobs remaining, all threads stopped."
4015DebugQuartz"Draining threadpool..."
4016DebugQuartz"Gave up waiting for the thread pool to drain; work is still running."
4017DebugQuartz"Thread pool closed to new work with {RunningTaskCount} running tasks remaining."
4018DebugQuartz"Shutdown of threadpool complete."
4019DebugQuartz"Shutdown complete"
5000InformationQuartz"Parsing XML file: {FileName} with systemId: {SystemId}"
5001InformationQuartz"Parsing XML from stream with systemId: {SystemId}"
5002DebugQuartz"Found {JobGroupCount} delete job group commands."
5003DebugQuartz"Found {TriggerGroupDeleteCount} delete trigger group commands."
5004DebugQuartz"Found {JobsToDeleteCount} delete job commands."
5005DebugQuartz"Found {TriggersToDelete} delete trigger commands."
5006DebugQuartz"Directive 'overwrite-existing-data' specified as: {Overwrite}"
5007DebugQuartz"Directive 'ignore-duplicates' specified as: {IgnoreDuplicates}"
5008DebugQuartz"Directive 'schedule-trigger-relative-to-replaced-trigger' specified as: {ScheduleRelative}"
5009DebugQuartz"Directive 'overwrite-existing-data' not specified, defaulting to {Overwrite}"
5010DebugQuartz"Directive 'ignore-duplicates' not specified, defaulting to {IgnoreDuplicates}"
5011DebugQuartz"Directive 'schedule-trigger-relative-to-replaced-trigger' not specified, defaulting to {ScheduleTriggerRelativeToReplacedTrigger}"
5012DebugQuartz"Found {Count} job definitions."
5013DebugQuartz"Parsed job definition: {JobDetail}"
5014DebugQuartz"Found {TriggerCount} trigger definitions."
5015DebugQuartz"Parsed trigger definition: {Trigger}"
5016WarningQuartz"Unable to validate XML with schema: {Message}"
5017WarningQuartz"{ValidationMessage}"
5018InformationQuartz"Adding {JobCount} jobs, {TriggerCount} triggers"
5019InformationQuartz"Removing job: {JobKey}"
5020InformationQuartz"Not overwriting existing job: {JobKey}"
5021InformationQuartz"Replacing job: {JobKey}"
5022InformationQuartz"Adding job: {JobKey}"
5023DebugQuartz"Rescheduling job: {JobKey} with updated trigger: {TriggerKey}"
5024InformationQuartz"Not overwriting existing trigger: {Key}"
5025DebugQuartz"Scheduling job: {JobKey} with trigger: {TriggerKey}"
5026DebugQuartz"Adding trigger: {TriggerKey} for job: {JobKey} failed because the trigger already existed. This is likely due to a race condition between multiple instances in the cluster. Will try to reschedule instead."
5028InformationQuartz"Not overwriting existing trigger: {JobKey}"
5029WarningQuartz"Possibly duplicately named ({TriggerKey}) trigger in configuration, this can be caused by not having a fixed job key for targeted jobs"
5030DebugQuartz"Using relative scheduling for trigger with key {TriggerKey}"
5031InformationQuartz"Deleting all jobs in ALL groups."
5032InformationQuartz"Deleting all jobs in group: {Group}"
5033InformationQuartz"Deleting all triggers in ALL groups."
5034InformationQuartz"Deleting all triggers in group: {Group}"
5035InformationQuartz"Deleting job: {Key}"
5036InformationQuartz"Deleting trigger: {Key}"
5100WarningQuartz"Misfire instruction '{MisfireInstruction}' is not one of the {Family} trigger names. It resolves to code {Code}, which for this trigger means {Policy}; spell it '{Canonical}'"
5102WarningQuartz"Type '{OldName}' was found as '{NewName}'; the type moved in Quartz 4.0. Update the configuration, as this fallback will not last forever."
5103WarningQuartz"Unrecognized misfire policy {MisfireInstruction}. Derived builder will use the default cron trigger behavior (FireOnceNow)"
5104ErrorQuartz"Listener {ListenerName} - method {MethodName} raised an exception: {ExceptionMessage}"
5105ErrorQuartz"Listener method {MethodName} raised an exception: {ExceptionMessage}"
5106InformationQuartz"Job '{JobKey}' will now chain to Job '{Job}'"
5107ErrorQuartz"Error encountered during chaining to Job '{Job}'"
5108WarningQuartz"Unable to resolve file path '{FileName}' due to security exception, probably running under medium trust"
5109WarningQuartz"Unable to read environment variable '{Key}' due to security exception, probably running under medium trust"
5110WarningQuartz"Unable to read environment variables due to security exception, probably running under medium trust"
5111DebugQuartz"Type '{OldName}' was resolved as '{NewName}' through a declared type loader alias."
6000InformationQuartz.Plugins"{Message}"
6001InformationQuartz.Plugins"{Message}"
6002WarningQuartz.Plugins"{Message}"
6003InformationQuartz.Plugins"{Message}"
6010InformationQuartz.Plugins"{Message}"
6011InformationQuartz.Plugins"{Message}"
6012InformationQuartz.Plugins"{Message}"
6200InformationQuartz.Plugins"Registering Quartz Job Initialization Plug-in."
6201DebugQuartz.Plugins"Scheduled file scan job for data file: {FileName}, at interval: {ScanInterval}"
6202ErrorQuartz.Plugins"Error starting background-task for watching jobs file."
6203ErrorQuartz.Plugins"Error while notifying SchedulerListener of error"
6204ErrorQuartz.Plugins"Original error while notifying scheduler listeners: {Message}"
6205ErrorQuartz.Plugins"Could not schedule jobs and triggers from file {FileName}: {Message}"
6206WarningQuartz.Plugins"File named '{FileName}' does not exist."
6207WarningQuartz.Plugins"Error closing jobs file {FileName}"
6300InformationQuartz.Plugins"Parsing JSON file: {FileName}"
6301InformationQuartz.Plugins"Deleting all jobs in ALL groups"
6302InformationQuartz.Plugins"Deleting all jobs in group: {Group}"
6303InformationQuartz.Plugins"Deleting all triggers in ALL groups"
6304InformationQuartz.Plugins"Deleting all triggers in group: {Group}"
6305InformationQuartz.Plugins"Deleting job: {JobKey}"
6306InformationQuartz.Plugins"Deleting trigger: {TriggerKey}"
6320InformationQuartz.Plugins"Registering Quartz JSON Job Initialization Plug-in"
6321DebugQuartz.Plugins"Scheduled file scan job for data file: {FileName}, at interval: {ScanInterval}"
6322ErrorQuartz.Plugins"Error starting background-task for watching JSON jobs file"
6323ErrorQuartz.Plugins"Could not schedule jobs and triggers from JSON file {FileName}"
6324ErrorQuartz.Plugins"Error while notifying SchedulerListener of error"
6325WarningQuartz.Plugins"File named '{FileName}' does not exist"
6326WarningQuartz.Plugins"Error closing jobs file {FileName}"
7000InformationQuartz.Jobs"Directory {DirectoryName} contents updated, notifying listener."
7001DebugQuartz.Jobs"Directory '{Directory}' contents unchanged."
7002WarningQuartz.Jobs"Directory '{DirectoryName}' does not exist."
7100WarningQuartz.Jobs"File '{FileName}' does not exist."
7101InformationQuartz.Jobs"File '{FileName}' updated, notifying listener."
7102DebugQuartz.Jobs"File '{FileName}' unchanged."
7200InformationQuartz.Jobs"About to run {Command} {Temp}..."
7201InformationQuartz.Jobs"stdout>{Line}"
7202WarningQuartz.Jobs"stderr>{Line}"
7203ErrorQuartz.Jobs"Error consuming {Type} stream of spawned process."
7300WarningQuartz.Jobs"SMTP credentials are being read from job data ('{UserNameKey}' / '{PasswordKey}'), which a persistent job store writes to the database and replicates to every node in the cluster. Register an ICredentialsByHost with the container instead."
7301InformationQuartz.Jobs"Sending message {MailMessage}"
8000DebugQuartz.Extensions.Redis"Lock '{LockName}' is desired by: {RequestorId}"
8001DebugQuartz.Extensions.Redis"Lock '{LockName}' already owned by: {RequestorId}"
8002DebugQuartz.Extensions.Redis"Lock '{LockName}' is being obtained: {RequestorId}"
8003DebugQuartz.Extensions.Redis"Lock '{LockName}' was not obtained by: {RequestorId} - cancelled"
8004DebugQuartz.Extensions.Redis"Lock '{LockName}' given to: {RequestorId}"
8005WarningQuartz.Extensions.Redis"Lock '{LockName}' attempt to return by: {RequestorId} -- but not owner!"
8006WarningQuartz.Extensions.Redis"stack-trace of wrongful returner: {StackTrace}"
8007DebugQuartz.Extensions.Redis"Lock '{LockName}' returned by: {RequestorId}"
8008WarningQuartz.Extensions.Redis"Failed to release Redis lock '{LockName}'"
8009InformationQuartz.Extensions.Redis"Connecting to Redis"
8010InformationQuartz.Extensions.Redis"Closing the Redis connection"
9000DebugQuartz.AspNetCore"BadHttpRequestException thrown"
9001DebugQuartz.AspNetCore"Failed to deserialize request"
9002DebugQuartz.AspNetCore"NotFoundException thrown"
9003WarningQuartz.AspNetCore"SchedulerException thrown when handling api request to url {Url}"
9004ErrorQuartz.AspNetCore"Exception thrown when handling api request to url {Url}"
9100InformationQuartz.Dashboard"Dashboard user {User} performed {Action} on {Target} of scheduler {SchedulerName}: {Outcome}"
9101InformationQuartz.Dashboard"Dashboard user {User} attempted {Action} on {Target} of scheduler {SchedulerName} and it failed: {Reason}"
9102DebugQuartz.Dashboard"Dashboard connection {ConnectionId} opened for user {User}"
9103DebugQuartz.Dashboard"Dashboard connection {ConnectionId} closed for user {User}"

See also

  • Operating a Cluster — what to do about the events that mean something is wrong
  • Observability — traces and metrics, which answer the questions a log cannot
  • Troubleshooting — the symptoms these events show up in
Help us by improving this page!
Last Updated: 9/2/26, 11:27 PM
Contributors: Marko Lahma, Claude Fable 5.1
Prev
Operating a Cluster
Next
Tenancy Patterns