Difference between revisions of "Replikwando Error Logging"
Jmckinstry (talk | contribs) m (→Values) |
Jmckinstry (talk | contribs) |
||
Line 58: | Line 58: | ||
=Log Types= | =Log Types= | ||
This setting determines what sources of message are considered for logging. It is completely agnostic of severity. | |||
==Values== | |||
This value can be set in replication.ini, logging::log_types. | |||
Multiple values may be specified on this line, in the form of | |||
* log_types=<log_type_value>[ log_type_value...] | |||
Acceptable values are: | |||
* GENERAL | |||
* STARTUP | |||
* SHUTDOWN | |||
* PERFORMANCE | |||
* THREAD_MAIN | |||
* THREAD_READ | |||
* THREAD_PARSE | |||
* THREAD_STORE | |||
* THREAD_SEND | |||
* THREAD_HEARTBEAT | |||
* EXTRA_DATA_SQLITE_CHANGE | |||
===General=== | |||
Catch-all category for anything that comes from non-specific locations. It should probably always be enabled. | |||
===Startup=== | |||
Issues that occur while Replikwando is starting up and putting itself into a normal running state. | |||
===Shutdown=== | |||
Issues that occur while Replikwando is closing down and cleaning up values. | |||
===Performance=== | |||
Logged values related to performance, such as query lengths and queue sizes. | |||
===Thread_Main=== | |||
Issues that occur in the main thread of Replikwando. The main thread doesn't do much, and most if not all values that go here would be better handled under General instead. | |||
===Thread_Read=== | |||
Issues that occur during reading values from the local database. | |||
===Thread_Parse=== | |||
Issues that occur during the parsing of unparsed queries. Involves tokenization and introspection of MySQL queries. | |||
===Thread_Store=== | |||
Issues that occur during saving parsed queries to the SQLite database file. | |||
===Thread_Send=== | |||
Issues that occur during sending values to any number of remote databases. | |||
===Thread_Heartbeat=== | |||
Issues that occur during the triggering of heartbeats, or the reading and writing of Replikwando Messages. | |||
===Extra_data_SQLite_Change=== | |||
Notifications for SQLite values being manipulated. Performance logging. | |||
=Log Format= | =Log Format= |
Revision as of 16:10, 4 September 2014
Contained within this page are the inner workings of Replikwando's logging system as of version 1.7.0.
Log Levels
This setting determines what severity of issue is logged. Each level includes all the ones of higher priority as well.
Values
This value can be set in replication.ini, logging::loglevel.
Only one value is accepted, in the form of:
- loglevel=<log_level_value>
Acceptable values are (in order of criticality):
- CRITICAL
- ERROR
- WARNING
- GENERAL
- NOTIFY
Critical
Notifies the user that there are issues that require immediate attention (whether by user or programmer), and that Replikwando cannot function normally until they are corrected.
Examples:
- Basic configuration is not set
- Could not connect to local or remote database on startup
- Binary logging is not enabled
- Could not create or open sqlite file
- Processing threads have died unexpectedly (programmer must correct)
- CRT or other generic unhandled error or exception (programmer must handle)
Error
Notifies the user that issues are coming up that are stopping Replikwando from functioning correctly.
Examples:
- Loss of local or remote connection
- Inability to trigger a heartbeat
Warning
Notifies the user that some issues are coming up, but Replikwando is capable of getting along without intervention.
Examples:
- Any query that errors out for known reasons like DUPLICATE KEY or ALREADY_EXISTS
General
Details important state changes (like repushing) and other things that are nice to know, but won't require action by the users.
Examples:
- Repush started
- Repush finished
Notify
Details general state changes and higher-level debugging information.
Examples:
- Heartbeat message received
- Discarded known duplicate query (ROLLBACK; ROLLBACK;)
- Function creation without determinism set
- Short-form queries being added to sqlite file
Log Types
This setting determines what sources of message are considered for logging. It is completely agnostic of severity.
Values
This value can be set in replication.ini, logging::log_types.
Multiple values may be specified on this line, in the form of
- log_types=<log_type_value>[ log_type_value...]
Acceptable values are:
- GENERAL
- STARTUP
- SHUTDOWN
- PERFORMANCE
- THREAD_MAIN
- THREAD_READ
- THREAD_PARSE
- THREAD_STORE
- THREAD_SEND
- THREAD_HEARTBEAT
- EXTRA_DATA_SQLITE_CHANGE
General
Catch-all category for anything that comes from non-specific locations. It should probably always be enabled.
Startup
Issues that occur while Replikwando is starting up and putting itself into a normal running state.
Shutdown
Issues that occur while Replikwando is closing down and cleaning up values.
Performance
Logged values related to performance, such as query lengths and queue sizes.
Thread_Main
Issues that occur in the main thread of Replikwando. The main thread doesn't do much, and most if not all values that go here would be better handled under General instead.
Thread_Read
Issues that occur during reading values from the local database.
Thread_Parse
Issues that occur during the parsing of unparsed queries. Involves tokenization and introspection of MySQL queries.
Thread_Store
Issues that occur during saving parsed queries to the SQLite database file.
Thread_Send
Issues that occur during sending values to any number of remote databases.
Thread_Heartbeat
Issues that occur during the triggering of heartbeats, or the reading and writing of Replikwando Messages.
Extra_data_SQLite_Change
Notifications for SQLite values being manipulated. Performance logging.
Log Format
Known Errors
Please review this wiki page.