xref: /openbmc/phosphor-logging/lib/sdjournal.cpp (revision e053884811eea3f165ce465b3942e192b8a36cbc)
1*e0538848SWilliam A. Kennington III #include <systemd/sd-journal.h>
2*e0538848SWilliam A. Kennington III 
3*e0538848SWilliam A. Kennington III #include <cstdarg>
4*e0538848SWilliam A. Kennington III #include <phosphor-logging/sdjournal.hpp>
5*e0538848SWilliam A. Kennington III 
6*e0538848SWilliam A. Kennington III namespace phosphor
7*e0538848SWilliam A. Kennington III {
8*e0538848SWilliam A. Kennington III namespace logging
9*e0538848SWilliam A. Kennington III {
10*e0538848SWilliam A. Kennington III 
11*e0538848SWilliam A. Kennington III int SdJournalHandler::journal_send_call(const char*)
12*e0538848SWilliam A. Kennington III {
13*e0538848SWilliam A. Kennington III     return 0;
14*e0538848SWilliam A. Kennington III }
15*e0538848SWilliam A. Kennington III 
16*e0538848SWilliam A. Kennington III int SdJournalHandler::journal_send(const char* fmt, ...)
17*e0538848SWilliam A. Kennington III {
18*e0538848SWilliam A. Kennington III     va_list args;
19*e0538848SWilliam A. Kennington III     va_start(args, fmt);
20*e0538848SWilliam A. Kennington III 
21*e0538848SWilliam A. Kennington III     int rc = ::sd_journal_send(fmt, args, NULL);
22*e0538848SWilliam A. Kennington III     va_end(args);
23*e0538848SWilliam A. Kennington III 
24*e0538848SWilliam A. Kennington III     return rc;
25*e0538848SWilliam A. Kennington III }
26*e0538848SWilliam A. Kennington III 
27*e0538848SWilliam A. Kennington III SdJournalHandler sdjournal_impl;
28*e0538848SWilliam A. Kennington III SdJournalHandler* sdjournal_ptr = &sdjournal_impl;
29*e0538848SWilliam A. Kennington III 
30*e0538848SWilliam A. Kennington III SdJournalHandler* SwapJouralHandler(SdJournalHandler* with)
31*e0538848SWilliam A. Kennington III {
32*e0538848SWilliam A. Kennington III     SdJournalHandler* curr = sdjournal_ptr;
33*e0538848SWilliam A. Kennington III     sdjournal_ptr = with;
34*e0538848SWilliam A. Kennington III     return curr;
35*e0538848SWilliam A. Kennington III }
36*e0538848SWilliam A. Kennington III 
37*e0538848SWilliam A. Kennington III } // namespace logging
38*e0538848SWilliam A. Kennington III } // namespace phosphor
39