Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Channel-Based Logging #50

Open
aclysma opened this issue Sep 16, 2013 · 1 comment
Open

Channel-Based Logging #50

aclysma opened this issue Sep 16, 2013 · 1 comment

Comments

@aclysma
Copy link
Member

aclysma commented Sep 16, 2013

Desired features:

  • Easy to define new channels in code
  • Hierarchical channels
  • More log levels i.e. Trace, Debug, Info, Warn, Error, Assert, Fatal
  • Ability to send channels/severity to MsgBox (i.e. if I log something on error, it should show up in a message box and stop the process until I hit OK, similar to an assert).
  • Separate "minimum" level per channel on tty, log, msgbox, ideally configurable by command line or config file. tty might require Info or higher, log might require Debug or higher, msgbox would require Error or higher
  • Might be useful to allow asserts/verifies/fatals to be associated with a channel and suppressable.
  • Ideally would want to support multiple log files. Example scenarios:
    ** A general log with all channels on Debug
    ** A log with just asset loading. These entries might show in the
    ** A log with just frame rate/camera positions for import into a performance tracking system
    ** A log with player count, bandwidth in/out, ping, etc for import into excel
    ** A log that rolls up just warnings/errors for import into a bug tracking system
@stine
Copy link
Member

stine commented Sep 17, 2013

Much of this sounds pretty familiar, as I just spent the last few days at work integrating a logging library into our codebase. We used log4cxx because it provided us with the capability to define multiple log "sources" and "sinks" much like what you describe, and configure it all offline via config file to boot. Unfortunately the documentation for log4cxx promises more than it delivers, and I ultimately discovered that it is a very immature project with a lot of serious bugs.

I'll post a few of the other libraries that I considered tomorrow when I get back to work, in case you are interested. Boost.Log seems to be pretty capable, but the dependency on Boost is unattractive.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants