8

I have some Python programs that I'd like to convert to C++11 code as a way of learning the language. The target platform is Debian, kernel version >=4.2 (i.e. systemd).

In Python I can log debugging/logging information to the system log using the syslog module. In C I would be able to #include <syslog.h>. But, from this article I understand that for the current C++ implementation there is no such implementation (anymore). If the program is a service (or daemon?) this would apparently happen automagically although I don't gather how the message priority would be distinguished.

I've Googled around but can't really find a solution to my problem: How do I send information to the system log from within a C++11 program?

EDIT: (throws hands in the air and gives up ;-) ) Since there doesn't seem to be a native solution to my problem and I'm still in the starting phase of learning C++, I now consider to use C i.s.o. C++ since C natively supports syslog with syslog.h.

Mausy5043
  • 906
  • 2
  • 17
  • 39

2 Answers2

7

You can also send log data to journald via the sd_journal_send(3) or sd_journal_print(3) c-functions.

http://0pointer.de/blog/projects/journal-submit.html gives more info and examples on this topic.

schnitzi
  • 86
  • 1
  • 5
1

I would use SysLogAppender of Log4Cplus. But the question and therefore the answer are opinion-based etc etc

user3159253
  • 16,836
  • 3
  • 30
  • 56