Хорошая библиотека журналов для Lua - PullRequest
1 голос
/ 16 декабря 2011

Я использую Lua из устройства точки доступа на основе OpenWRT , чтобы разработать на нем некоторое ПО.

Я хочу найти хорошие библиотеки журналов для Lua.Есть ли у вас какие-либо рекомендации?Я проверил около lsyslog .

Ответы [ 6 ]

2 голосов
/ 08 ноября 2012

Насколько вы хотите, чтобы регистрация?Lua на Openwrt имеет библиотеку nixio.Он предоставляет доступ к системному журналу с помощью openlog (), syslog (), closelog (). nixio

2 голосов
/ 16 декабря 2011

Вы пробовали LuaLogging ?см Введение

1 голос
/ 27 августа 2017

Крошечный маленький: https://github.com/rxi/log.lua

Использование:

local log = require "log"
log.trace(...)
log.debug(...)
log.info(...)
log.warn(...)
log.error(...)
log.fatal(...)
1 голос
/ 26 декабря 2011

Я обнаружил, что lsyslog достаточно хорош для OpenWRT.

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

Я могу собрать его из OpenWRT, используя приведенный ниже файл Makefile каналов.

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))
0 голосов
/ 26 марта 2019

В OpenWRT библиотека lua-posix поставляется в виде пакета.Тогда вы можете использовать posix.syslog http://luaposix.github.io/luaposix/modules/posix.syslog.html.

0 голосов
/ 26 мая 2017

Старая тема, я знаю.

Существует еще один способ очистки системного журнала: luaposix, пакет уже в OpenWRT (по крайней мере, 15.05.1). Используя luaposix, ваш код может быть таким коротким, как:

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