Operating system for OpenComputers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
722B

  1. do
  2. syslog = {}
  3. syslog.emergency = 0
  4. syslog.alert = 1
  5. syslog.critical = 2
  6. syslog.error = 3
  7. syslog.warning = 4
  8. syslog.notice = 5
  9. syslog.info = 6
  10. syslog.debug = 7
  11. -- function syslog(msg, level, service) -- string number string -- -- Output *msg* to the system log, with severity *level*, from *service*.
  12. local rdprint=dprint or function() end
  13. setmetatable(syslog,{__call = function(_,msg, level, service)
  14. level, service = level or syslog.info, service or (os.taskInfo(os.pid()) or {}).name or "unknown"
  15. rdprint(string.format("syslog: [%s:%d/%d] %s",service,os.pid(),level,msg))
  16. computer.pushSignal("syslog",msg, level, service)
  17. end})
  18. function dprint(...)
  19. for k,v in pairs({...}) do
  20. syslog(v,syslog.debug)
  21. end
  22. end
  23. end