开发者

C++ logging framework suggestions [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
开发者_如何学JAVA

We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.

Closed 7 years ago.

Improve this question

I'm looking for a C++ logging framework with the following features:

  • logs have a severity (info, warning, error, critical, etc)
  • logs are tagged with a module name
  • framework has a UI (or CLI) to configure for which modules we will actually log to file, and the minimum severity required for a log to be written to file.
  • has a viewer which lets me search per module, severity, module name, error name, etc


Not sure about the configuration from a UI or CLI. I've used both of these logging frameworks at one point or other.

https://sourceforge.net/projects/log4cplus/
https://logging.apache.org/log4cxx/index.html

It wouldn't be too hard to drive your logging based on a configuration file that could be editable by hand or through a quick and dirty GUI or CLI app. Might be a bit harder to adjust these dynamically but not too bad.

Update:

It looks like the proposed Boost.Log is now in Boost 1.54 which is at a stable release. If you are already using Boost than I would take a look at it.


No viewer but you could try pantheios. I have been using it for almost a year now and am quite happy with it.


I strongly suggest Pantheios, as it's the only one that's completely type-safe, and is also very efficient. It imposes a little work on the user, in selecting the right "front-end" and "back-end", but once you've got it working, you can just fix and forget.

It doesn't provide sophisticated logging facilities - e.g. rolling files - but that's by design, because it's intended to be used in combination with other logging libraries that have more functionality (but poorer performance / type-safety).


If you care about performance, I suggest you check out Pantheios. In particular, it's got very high performance, and it can be used in combination with other logging libraries -- it acts as an efficient and type-safe layer between the logging library (such as log4cxx) and your application code.


You could use wxWidgets and use it's excellent class for logging. It's rather easy and straightforward. For instance, you can create a dialog which gathers all your logs (e.g. wxLogError, wxLogMessage, wxLogDebug, etc.).


Pantheios is a good candidate in term of perormance but my personal preference is P7 library. My internal tests (CPU i7-4870HQ, SSD) shows that P7 is faster than Pantheios.

  • Pantheios writes 1.8M logs lines per second (time & text message)
  • P7 writes 2.4M logs lines per second (time, thread, CPU core, function, file, line and text message)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜