2

我正在使用基于OpenWRT的接入点设备中的 Lua 在其上开发一些软件。

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

4

6 回答 6

3

你试过LuaLogging吗?见简介

于 2011-12-16T08:28:10.003 回答
3

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

用法:

local log = require "log"
log.trace(...)
log.debug(...)
log.info(...)
log.warn(...)
log.error(...)
log.fatal(...)
于 2017-08-27T18:18:52.623 回答
2

你想要日志记录有多花哨?Openwrt 上的 Lua 有 nixio 库。它通过 openlog()、syslog()、closelog() 提供 syslog 访问。 尼克西奥

于 2012-11-08T12:47:09.500 回答
1

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

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

我可以使用以下提要 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))
于 2011-12-26T02:07:28.720 回答
0

老话题,我知道。

还有另一种方式来皮肤 syslog: luaposix,包已经在 OpenWRT 中(至少 15.05.1)。使用luaposix,您的代码可以短至:

log = require("posix.syslog")
log.syslog(log.LOG_INFO, "Hello, world!")
于 2017-05-26T16:00:08.783 回答
0

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

于 2019-03-26T05:19:28.330 回答