#hs.logger

Simple logger for debugging purposes

Note: "methods" in this module are actually "static" functions - see hs.logger.new()


#API Overview

Variables - Configurable values

Functions - API calls offered directly by the extension

Fields - Variables which can only be accessed from an object returned by a constructor

Methods - API calls which can only be made on an object returned by a constructor


#API Documentation

#Variables

Signaturehs.logger.defaultLogLevel
TypeVariable
DescriptionDefault log level for new logger instances.
NotesNone
Sourceextensions/logger/logger.lua line 203

#Functions

Signaturehs.logger.history() -> list of log entries
TypeFunction
DescriptionReturns the global log history
Parameters
  • None
Returns
  • a list of (at most hs.logger.historySize()) log entries produced by all the logger instances, in chronological order;
  • each entry is a table with the following fields:
  • time - timestamp in seconds since the epoch
  • level - a number between 1 (error) and 5 (verbose)
  • id - a string containing the id of the logger instance that produced this entry
  • message - a string containing the logged message
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 94

Signaturehs.logger.historySize([size]) -> number
TypeFunction
DescriptionSets or gets the global log history size
Parameters
  • size - (optional) the desired number of log entries to keep in the history; if omitted, will return the current size; the starting value is 0 (disabled)
Returns
  • the current or new history size
Notes
  • if you change history size (other than from 0) after creating any logger instances, things will likely break
ExamplesNone
Sourceextensions/logger/logger.lua line 69

Signaturehs.logger.new(id, loglevel) -> logger
TypeFunction
DescriptionCreates a new logger instance
Parameters
  • id - a string identifier for the instance (usually the module name)
  • loglevel - (optional) can be 'nothing', 'error', 'warning', 'info', 'debug', or 'verbose', or a corresponding number between 0 and 5; uses hs.logger.defaultLogLevel if omitted
Returns
  • the new logger instance
Notes
  • the logger instance created by this method is not a regular object, but a plain table with "static" functions;
  • therefore, do not use the colon syntax for so-called "methods" in this module (as in mylogger.setLogLevel(3));
  • you must instead use the regular dot syntax: mylogger.setLogLevel(3)
  • Example:
  • lua</li><li>local log = hs.logger.new('mymodule','debug')</li><li>log.i('Initializing') -- will print "[mymodule] Initializing" to the console
ExamplesNone
Sourceextensions/logger/logger.lua line 211

Signaturehs.logger.printHistory([entries[, level[, filter[, caseSensitive]]]])
TypeFunction
DescriptionPrints the global log history to the console
Parameters
  • entries - (optional) the maximum number of entries to print; if omitted, all entries in the history will be printed
  • level - (optional) the desired log level (see hs.logger.setLogLevel()); if omitted, defaults to verbose
  • filter - (optional) a string to filter the entries (by logger id or message) via string.find plain matching
  • caseSensitive - (optional) if true, filtering is case sensitive
Returns
  • None
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 139

Signaturehs.logger.setGlobalLogLevel(lvl)
TypeFunction
DescriptionSets the log level for all logger instances (including objects' loggers)
Parameters
  • lvl
Returns
  • None
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 30

Signaturehs.logger.setModulesLogLevel(lvl)
TypeFunction
DescriptionSets the log level for all currently loaded modules
Parameters
  • lvl
Returns
  • None
Notes
  • This function only affects module-level loggers, object instances with their own loggers (e.g. windowfilters) won't be affected;
  • you can use hs.logger.setGlobalLogLevel() for those
ExamplesNone
Sourceextensions/logger/logger.lua line 46

#Fields

Signaturehs.logger.level
TypeField
DescriptionThe log level of the logger instance, as a number between 0 and 5
NotesNone
Sourceextensions/logger/logger.lua line 285

#Methods

Signaturehs.logger.d(...)
TypeMethod
DescriptionLogs debug info to the console
Parameters
  • ... - one or more message strings
Returns
  • None
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 352

Signaturehs.logger.df(fmt,...)
TypeMethod
DescriptionLogs formatted debug info to the console
Parameters
  • fmt - formatting string as per string.format
  • ... - arguments to fmt
Returns
  • None
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 362

Signaturehs.logger.e(...)
TypeMethod
DescriptionLogs an error to the console
Parameters
  • ... - one or more message strings
Returns
  • None
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 289

Signaturehs.logger.ef(fmt,...)
TypeMethod
DescriptionLogs a formatted error to the console
Parameters
  • fmt - formatting string as per string.format
  • ... - arguments to fmt
Returns
  • None
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 299

Signaturehs.logger.f(fmt,...)
TypeMethod
DescriptionLogs formatted info to the console
Parameters
  • fmt - formatting string as per string.format
  • ... - arguments to fmt
Returns
  • None
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 341

Signaturehs.logger.getLogLevel() -> number
TypeMethod
DescriptionGets the log level of the logger instance
Parameters
  • None
Returns
  • The log level of this logger as a number between 0 and 5
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 275

Signaturehs.logger.i(...)
TypeMethod
DescriptionLogs info to the console
Parameters
  • ... - one or more message strings
Returns
  • None
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 331

Signaturehs.logger.setLogLevel(loglevel)
TypeMethod
DescriptionSets the log level of the logger instance
Parameters
  • loglevel - can be 'nothing', 'error', 'warning', 'info', 'debug', or 'verbose'; or a corresponding number between 0 and 5
Returns
  • None
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 265

Signaturehs.logger.v(...)
TypeMethod
DescriptionLogs verbose info to the console
Parameters
  • ... - one or more message strings
Returns
  • None
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 373

Signaturehs.logger.vf(fmt,...)
TypeMethod
DescriptionLogs formatted verbose info to the console
Parameters
  • fmt - formatting string as per string.format
  • ... - arguments to fmt
Returns
  • None
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 383

Signaturehs.logger.w(...)
TypeMethod
DescriptionLogs a warning to the console
Parameters
  • ... - one or more message strings
Returns
  • None
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 310

Signaturehs.logger.wf(fmt,...)
TypeMethod
DescriptionLogs a formatted warning to the console
Parameters
  • fmt - formatting string as per string.format
  • ... - arguments to fmt
Returns
  • None
NotesNone
ExamplesNone
Sourceextensions/logger/logger.lua line 320