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, maxFileSize, [maxBackupIndex], [logPattern])
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.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"
.
Example
require"logging.rolling_file" local logger = logging.rolling_file("test.log", 1024, 5, "%Y-%m-%d") logger:info("logging.file test") logger:debug("debugging...") logger:error("error!")