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.

24 lines
581B

  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. local rdprint=dprint or function() end
  12. setmetatable(syslog,{__call = function(_,msg, level, service)
  13. level, service = level or syslog.info, service or (os.taskInfo(os.pid()) or {}).name or "unknown"
  14. rdprint(string.format("syslog: [%s:%d/%d] %s",service,os.pid(),level,msg))
  15. computer.pushSignal("syslog",msg, level, service)
  16. end})
  17. function dprint(...)
  18. for k,v in pairs({...}) do
  19. syslog(v,syslog.debug)
  20. end
  21. end
  22. end