Skip to main content

RFC: Standardized Logging Framework

This document describes design goals for libuv-compatible logging

Motivation

There's only one (moderately) active logging framework for Lua, which uses standard Lua I/O (not async via libuv).

Requirements

The framework MUST accomplish the following:

  • Allow for synchronous and asynchronous logging using libuv's I/O facilities
  • Support multiple logging outputs at the same time (e.g., console and file on disk)
  • Support multiple channels, following a standard syslog severity-based approach

It SHOULD aim to do the following:

  • Follow an estbalished style of logging APIs, like log4j
  • Be as performant as possible (I/O bound), with low impact on the event loop itself

Alternatives