Lua的良好日志库

时间:2011-12-16 08:14:17

标签: logging lua openwrt

我正在使用基于OpenWRT的Access Point设备的Lua来开发一些S / W.

我想为Lua找到一个好的日志库。你有什么建议吗? 我检查了lsyslog

6 个答案:

答案 0 :(得分:2)

你想要记录多么奇特? Luw on Openwrt有nixio库。它使用openlog(),syslog(),closelog()提供syslog访问。 nixio

答案 1 :(得分:1)

你试过LuaLogging吗?见Introduction

答案 2 :(得分:1)

我发现lsyslog对OpenWRT来说已经足够了。

http://luaforge.net/projects/lsyslog/

我可以使用下面的Feed Makefile从OpenWRT构建它。

include $(TOPDIR)/rules.mk

PKG_NAME:=lsyslog
PKG_VERSION:=5
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://files.luaforge.net/releases/lsyslog/lsyslog/lsyslog-$(PKG_VERSION)

include $(INCLUDE_DIR)/package.mk

define Package/lsyslog
  SUBMENU:=Lua
  SECTION:=lang
  CATEGORY:=Languages
  TITLE:=lsyslog
  URL:=http://luaforge.net/projects/lsyslog/
  DEPENDS:=+lua 
endef

define Package/lsyslog/description
  lsyslog is simple binding API from Lua to syslog.
endef

define Build/Configure
endef

define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR)/ \
                LIBDIR="$(TARGET_LDFLAGS)" \
                CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_CPPFLAGS) -std=gnu99 -fPIC" \
                LD="$(TARGET_CROSS)ld -shared" \
                so
endef


define Package/lsyslog/install
        $(INSTALL_DIR) $(1)/usr/lib/lua
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/syslog.so $(1)/usr/lib/lua
endef

$(eval $(call BuildPackage,lsyslog))

答案 3 :(得分:1)

一个小小的一个:https://github.com/rxi/log.lua

用法:

local log = require "log"
log.trace(...)
log.debug(...)
log.info(...)
log.warn(...)
log.error(...)
log.fatal(...)

答案 4 :(得分:0)

老话题,我知道。

还有另一种方法来修改系统日志:luaposix,包已经在OpenWRT中(至少15.05.1)。使用luaposix,您的代码可以简短:

log = require("posix.syslog")
log.syslog(log.LOG_INFO, "Hello, world!")

答案 5 :(得分:0)

在OpenWRT上,有lua-posix库作为软件包。然后,您可以使用posix.syslog http://luaposix.github.io/luaposix/modules/posix.syslog.html