2011-12-16 116 views

回答

1

我发现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)) 
2

你想登录怎么看? Openwrt上的Lua有nixio库。它使用openlog(),syslog(),closelog()提供syslog访问。 nixio

0

老主题,我知道。

还有一种方法可以清除系统日志:luaposix,已经在OpenWRT中打包(至少15.05.1)。使用luaposix,你的代码可能是短:

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

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

用法:

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

虽然这个链接可能回答这个问题,但最好在这里包含答案的重要部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/17159109) – 2017-08-27 18:59:10