Rolling File appender
The rolling file appender can be used to write log messages to a file. It uses Lua I/O routines to do its job. The rolling file appender rolls over the logfile once it has reached a certain size limit. It also mantains a maximum number of log files.
function logging.rolling_file {
[filename = string,]
maxFileSize = number,
[maxBackupIndex = number,]
[logPattern = string,]
[timestampPattern = string],
}
filename:
The name of the file to be written to.
If the file cannot be opened for appending the logging request returns nil and an error message.
The default value is"lualogging.log".maxFileSize:
The max size of the file in bytes. Every time the file reaches this size it will rollover, generating a new clean log file and storing the old log on a filename.n, where n goes from 1 to the configured maxBackupIndex.
The more recent backup is the one with the lowest n on its filename.
Eg. test.log.1 (most recent backup)
test.log.2 (least recent backup)maxBackupIndex:
The number of backup files that will be generated. The default value is1.logPattern:
A pattern can be specified to control how the message is written.
The default value is"%date %level %message\n".timestampPattern:
This is an optional parameter that can be used to specify a date pattern that will be passed to theos.datefunction to create the timestamp for the log message.
Example
require"logging.rolling_file"
local logger = logging.rolling_file {
filename = "test.log",
maxFileSize = 1024,
maxBackupIndex = 5,
}
logger:info("logging.rolling_file test")
logger:debug("debugging...")
logger:error("error!")