logger.q

logging to disk/table/console a logger based on java's, including handlers,filters,formatters. But note there is only one global logger.
handlers - are notified when a logging event occurs
formatters - convert a logrecord into a string
filters - restrict what messages are actually logged

example uses
.logger.addHandler[.logger.getConsoleHandler[ .logger.getLevelFilter[`INFO]; .logger.getSimpleFormatter[] ] ] .logger.addHandler[.logger.getFileHandler[ .logger.getLevelFilter[`WARNING]; .logger.getXMLFormatter[]; `:a.xml ] ] .logger.addHandler[.logger.getTableHandler[ .logger.getLevelFilter[`INFO]; `bob ] ] .logger.info["myClass";"err txt message"]
  • author - Ryan Hamilton

Entity Summary

EntitiesShort Description
.logger.addHandler[handler]adds a handler to the list of log handlers notified
.logger.calcPi[n]Example of calculating pi just to demonstrate full range of qdoc tags etc.
.logger.config[class;message]
.logger.f[arg]
.logger.fine[class;message]
.logger.finer[class;message]
.logger.finest[class;message]
.logger.frmt[x]change any arg passed in, into a string
.logger.getConsoleHandler[Filter;Formatter]A simple handler for writing formatted records to Console
.logger.getFileHandler[Filter;Formatter;filename]A handler that writes formatted log records to a single file
.logger.getLevelFilter[filterLevel]Filters logRecords by only permitting ones at the filterLevel or above
.logger.getSimpleFormatter[x]Writes brief "human-readable" summaries of log records.
.logger.getTableHandler[Filter;tableName]A handler that writes log records to a single table
.logger.getXMLFormatter[x]Writes detailed XML-structured information.
.logger.handlers
.logger.info[class;message]
.logger.levels
.logger.logTables
.logger.loq[level;class;message]log an actual message, notice its spelt with a Q, loQ, apply all handlers to this latest log entry
.logger.off[]stop logging remote calls
.logger.on[]log remote calls to the operations table Turn on logging.
.logger.operationslogging remote calls etc Table where each row represents one remote call.
.logger.severe[class;message]Handy Functions to make calling easier
.logger.warning[class;message]

Entity Details

.logger.calcPi[n]

Example of calculating pi just to demonstrate full range of qdoc tags etc.

Return: value of PI to n decimal places
Parameters:
  • n - The number of decimal places desired.
compatibility-break:
  • 2011-03-01 - no longer default logs to screen
  • 2011-01-01 - no longer default logs to file
version: 1.0

.logger.loq[level;class;message]

log an actual message, notice its spelt with a Q, loQ, apply all handlers to this latest log entry

Parameters:
  • level - - a logger.levels symbol, in order (higher priority first) `SEVERE`WARNING`INFO`CONFIG`FINE`FINER`FINEST
  • message - - the message to log
  • class - - a string describing the class/namespace the logging is occuring in

Examples

.logger.loq[`warn;`logger;"could not connect"]
↗
.logger.loq[`info;`logger;"Connected"]
↗

.logger.operations

logging remote calls etc Table where each row represents one remote call.

Columns:
  • synch_or_asynch - 1b if message was synchronous else 0b.
  • startTime - The local time at which the call occurred.