Module ammcore.log
¶
Error reporting facilities.
Basic usage¶
Create an instance of Logger
. By default, it will inherit its name
from the module where it was created.
Then, use the Logger
to print messages:
local log = require "ammcore.log"
local logger = log.Logger:New()
logger.info("Print any messages you like!")
logger.info("You can even format them: %s", "how cool is that?")
Configuring logging level¶
You can configure logging level for each logger individually
by calling Logger:setLevel()
or by setting its level via the
BootloaderConfig
(see logLevels
).
You can also configure level for the root logger by adding logLevel
parameter
to the computer’s nick (see ammcore.nick
).
Index¶
Data
Mapping from log level to its canonical name. |
Function
Parse level name and return an appropriate level value. |
|
Parse a log record and get its components. |
Class
Logging level. |
|
Logger. |
Data¶
-
ammcore.log.LevelName:
table
<ammcore.log.Level
,string
>¶ Mapping from log level to its canonical name.
You can add your own names if you plan on extending the logging system.
Function¶
-
ammcore.log.levelFromName(name:
string
|integer
) levelName?:ammcore.log.Level
¶ Parse level name and return an appropriate level value.
- Parameters:
name (
string
|integer
) – level name or value.- Returns:
levelName? (
ammcore.log.Level
) – level value.
-
ammcore.log.parseLogRecord(s:
string
, msgLevel:integer
) {logger:string
, level:integer
, message:string
} ¶ Parse a log record and get its components.
If parsing fails, assume the record was printed manually.
- Parameters:
s (
string
) – string that was printed.msgLevel (
integer
) – verbosity that was used to print the string.
Class¶
-
class ammcore.log.Level :
integer
¶ Logging level.
-
Trace:
ammcore.log.Level
¶ For detailed log that you only need to see when investigating behaviour of a certain system. It doesn’t make sense to enable trace logging for the root logger, there’s just too many of them.
-
Debug:
ammcore.log.Level
¶ For messages that are helpful when you’re investigating an error and need more information, but aren’t intended for end users.
-
Info:
ammcore.log.Level
¶ For messages intended for the end user.
-
Warning:
ammcore.log.Level
¶ Something that the user should be aware of.
Warnings indicate that system’s behaviour may differ from what the user might be expecting, but otherwise they don’t require user attention.
-
Error:
ammcore.log.Level
¶ Something went wrong and parts of the system aren’t operational, but some other parts keep working, or there is a chance they’ll recover.
Errors require eventual user attention.
-
Critical:
ammcore.log.Level
¶ Something went so wrong that the system can’t operate any longer.
Errors require immediate user attention.
-
Trace:
-
class ammcore.log.Logger :
ammcore.class.Base
¶ Logger.
-
classmethod New(self: <T:
ammcore.log.Logger
>, name?:string
) <T:ammcore.log.Logger
> ¶
-
const name:
string
¶ Name of this logger.
-
protected const _prefix:
string
¶ Prefix to be printed before every message.
-
protected const _parent:
ammcore.log.Logger
?¶ Parent logger, if any.
-
setLevel(self:
ammcore.log.Logger
, level?:ammcore.log.Level
)¶ Set level for this logger.
If this logger has no level, messages will be relayed to its parent. Otherwise, they will be displayed or ignored according to the level given.
- Parameters:
level? (
ammcore.log.Level
) – new logging level.
-
getLevel(self:
ammcore.log.Logger
) level?:ammcore.log.Level
¶ Get level for this logger.
- Returns:
level? (
ammcore.log.Level
) – current logging level.
-
getEffectiveLevel(self:
ammcore.log.Logger
) level:ammcore.log.Level
¶ Get level of this logger; if it has no configured level, return level of its parent.
- Returns:
level (
ammcore.log.Level
) – current effective logging level.
-
log(self:
ammcore.log.Logger
, level:ammcore.log.Level
, msg:string
, ...:any
)¶ Log a message with the given
level
.- Parameters:
level (
ammcore.log.Level
) – target logging level.msg (
string
) – message to be printed; will be formatted usingstring.format
.... (
any
) – arguments forstring.format
.
-
trace(self:
ammcore.log.Logger
, msg:string
, ...:any
)¶ Log a trace message.
See
ammcore.log.Level.Trace
for details.- Parameters:
msg (
string
) – message to be printed; will be formatted usingstring.format
.... (
any
) – arguments forstring.format
.
-
debug(self:
ammcore.log.Logger
, msg:string
, ...:any
)¶ Log a debug message.
See
ammcore.log.Level.Debug
for details.- Parameters:
msg (
string
) – message to be printed; will be formatted usingstring.format
.... (
any
) – arguments forstring.format
.
-
info(self:
ammcore.log.Logger
, msg:string
, ...:any
)¶ Log an info message.
See
ammcore.log.Level.Info
for details.- Parameters:
msg (
string
) – message to be printed; will be formatted usingstring.format
.... (
any
) – arguments forstring.format
.
-
warning(self:
ammcore.log.Logger
, msg:string
, ...:any
)¶ Log a warning message.
See
ammcore.log.Level.Warning
for details.- Parameters:
msg (
string
) – message to be printed; will be formatted usingstring.format
.... (
any
) – arguments forstring.format
.
-
error(self:
ammcore.log.Logger
, msg:string
, ...:any
)¶ Log an error message.
See
ammcore.log.Level.Error
for details.- Parameters:
msg (
string
) – message to be printed; will be formatted usingstring.format
.... (
any
) – arguments forstring.format
.
-
critical(self:
ammcore.log.Logger
, msg:string
, ...:any
)¶ Log a critical message.
- Parameters:
msg (
string
) – message to be printed; will be formatted usingstring.format
.... (
any
) – arguments forstring.format
.
-
classmethod New(self: <T: