2015-09-04 50 views
1

我想运行一个脚本使用系统日志,但我总是得到一个错误,说不可能找到系统日志。系统日志错误与Windows

C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:在require': cannot load such file -- syslog (LoadError) from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:i n需要 ' 从script.rb:1:在`'

我的脚本是:

require 'syslog' 

def log(message) 

    # $0 is the current script name 

    Syslog.open($0, Syslog::LOG_PID | Syslog::LOG_CONS) { |s| s.warning message } 

end 


log("Warning from ruby!") 

回答

2

我们目前正试图将我们的应用程序移植到Windows,并遇到同样的问题。底线,超出现成的Ruby系统日志将无法在Windows上运行(通过https://www.ruby-forum.com/topic/78859#129379的暗示),因为它依赖于一些Unix函数(即syslog(3)

其他建议https://rubygems.org/gems/win32-eventlog/versions/0.6.3作为一种手段,让你挖掘到Windows事件日志API。

或者,如果您不需要进入系统,则可以查看Logger