# Trace configuration. Following rules are used : # - configuration is processed from top to bottom # - there is two kind of sections allowed : "database" and "services" # - parameters at default section are used for all databases or services # - only one default section for each kind is allowed # - after processing of default database section, search is continued # - if database name matches pattern, options are immediately applied and # search does not continue # # Pattern is either database name without path or "SIMILAR TO"-based regular # expression which is matched against fully qualified database path name. # # For log file name Sed syntax for substitutions is supported. # I.e. \0 - whole matched string, \1 ... \9 - parenthesis subexpressions. # \\ is backslash. # # String values should be enclosed into (any kind of) quotes if contains # spaces embedded, for example: # log_filename 'C:\\Documents and Settings\\Firebird\\My Documents\\trace.log' # include_filter "Database Stats" # # To enter curvy brackets { } somewhere in a configuration dup them: {{ }}. # For example - to enter this regular expression # database = (%[\\/](e[[:DIGIT:]]{2}).fdb) # type # database = (%[\\/](e[[:DIGIT:]]{{2}}).fdb) database { # Do we trace database events or not #enabled = false # Operations log file name. For use by system audit trace only #log_filename = name # Maximum size of log file (megabytes). Used by system audit trace for # log's rotation : when current log file reached this limit it is renamed # using current date and time and new log file is created. Value of zero # means that the log file size is unlimited and rotation will never happen. #max_log_size = 0 # SQL query filters. # # Only SQL statements falling under given regular expression are reported # in the log. #include_filter # SQL statements falling under given regular expression are NOT reported # in the log. #exclude_filter # Put attach/detach log records #log_connections = false # Trace only given connection id. If zero - trace all connections #connection_id = 0 # Put transaction start/end records #log_transactions = false # Put sql statement prepare records #log_statement_prepare = false # Put sql statement free records #log_statement_free = false # Put sql statement execution start records #log_statement_start = false # Put sql statement execution finish\fetch to eof records #log_statement_finish = false # Put record when stored procedure is start execution #log_procedure_start = false # Put record when stored procedure is finish execution #log_procedure_finish = false # Put record when stored function is start execution #log_function_start = false # Put record when stored function is finish execution #log_function_finish = false # Put trigger execute records #log_trigger_start = false # Put trigger execute records #log_trigger_finish = false # Put context variable change records (RDB$SET_CONTEXT) #log_context = false # Put errors happened #log_errors = false # Put warnings #log_warnings = false # Filters for errors and warnings GDS codes. # Comma separated list of GDS codes values and\or names. # For example: deadlock, req_sync, 335544321 # Include filter. If empty, trace all errors\warnings events. # Else trace event if any code from list is found in status-vector. #include_gds_codes # Exclude filter. If empty, trace all errors\warnings events. # Else trace event if no code from list is found in status-vector. #exclude_gds_codes # Put trace session init and finish messages #log_initfini = true # Sweep activity #log_sweep = false # Print access path (plan) with sql statement #print_plan = false # Use legacy (false) or explained (true) plan format #explain_plan = false # Print detailed performance info when applicable #print_perf = false # Put blr requests compile/execute records #log_blr_requests = false # Print blr requests or not #print_blr = false # Put dyn requests execute records #log_dyn_requests = false # Print dyn requests or not #print_dyn = false # Put xxx_finish record only if its timing exceeds this number of milliseconds #time_threshold = 100 # Maximum length of SQL string logged # Beware when adjusting max_xxx parameters! Maximum length of log record # for one event should never exceed 64K. #max_sql_length = 300 # Maximum length of blr request logged #max_blr_length = 500 # Maximum length of dyn request logged #max_dyn_length = 500 # Maximum length of individual string argument we log #max_arg_length = 80 # Maximum number of query arguments to put in log #max_arg_count = 30 } # default services section # # List of names of currently existing Firebird services (to use with service # filters below) : # Backup Database # Restore Database # Repair Database # Add User # Delete User # Modify User # Display User # Database Properties # Database Stats # Get Log File # Incremental Backup Database # Incremental Restore Database # Start Trace Session # Stop Trace Session # Suspend Trace Session # Resume Trace Session # List Trace Sessions # Set Domain Admins Mapping to RDB$ADMIN # Drop Domain Admins Mapping to RDB$ADMIN # services { # Do we trace services events or not #enabled = false # Operations log file name. For use by system audit trace only #log_filename = name # Maximum size of log file (megabytes). Used by system audit trace for # log's rotation #max_log_size = 0 # Services filters. # # Only services whose names fall under given regular expression are # reported in the log. #include_filter # Services whose names fall under given regular expression are NOT # reported in the log. #exclude_filter # Put service attach, detach and start records #log_services = false # Put service query records #log_service_query = false # Put errors happened #log_errors = false # Put warnings #log_warnings = false # Filters for errors and warnings GDS codes. # Comma separated list of GDS codes values and\or names. # For example: deadlock, req_sync, 335544321 # Include filter. If empty, trace all errors\warnings events. # Else trace event if any code from list is found in status-vector. #include_gds_codes # Exclude filter. If empty, trace all errors\warnings events. # Else trace event if no code from list is found in status-vector. #exclude_gds_codes # Put trace session init and finish messages #log_initfini = true } # Example of trace customization: # # Enable logging for my_database.fdb in any folder # database = %[\\/]my_database.fdb { enabled = true } # Enable logging for test.fdb, azk2.fdb and rulez.fdb in any directory # into log file name matching database name - test.log, azk2.log and # rulez.log appropriately # database = %[\\/](test|azk2|rulez).fdb { enabled = true log_filename = \1.log }