Q:

logging facilities for realtime and non realtime applications

We're developing both std and realtime applications that run on a RT-Linux.
question is, what would be an efficient way of logging application traces from both realtime and non-realtime processes?
By effecient, I mean that the process of logging application traces shouldn't cause RT-perf hit by increasing latency, etc.
Traces should ideally be stored into a single file with timestamp, to make it easier to track interaction between processes.

A:

For real time Logging I'll advise use different aproaches than bare logging to files. Writing to files a lot of information will hurt your performance. 
I can advice other more lighter mechanismS:

Use statistics/counters to get filling what your application is doing 
Write/encode logs in some binary format to be processed offline. This binary format may be more compact and thus lighter.

A:

Since you are on linux, you can use syslog() :

openlog() opens a connection to the system logger for a program.  

this means your program forwards messages to another program, which can be of low priority.
If you want something more fancy, then boost logging.

