troubleshooting:wrapper_cpp
Toto je starší verze dokumentu!
Wrapper
- wrapper pro logger
#include <syslog.h>
#include <stdio.h>
#include <iostream>
#include <sstream>
using namespace std;
main( int argc, char ** argv, char ** envp )
{
stringstream cmdss;
cmdss << "/usr/bin/logger.back ";
int i;
for (i=1; i<argc; ++i) {
cmdss << "'" << argv[i] << "' ";
}
const string &cmdstr = cmdss.str();
const char* cstr = cmdstr.c_str();
openlog ("bariwrap", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_DAEMON);
syslog (LOG_INFO, "cmd %s", cstr);
closelog ();
FILE *fp = NULL;
fp = popen(cstr, "w");
if (!fp) {
cerr << "Cannot execute" << endl;
}
for (string line; getline(cin,line);) {
syslog (LOG_INFO, "line %s", line.c_str());
fwrite(line.c_str(), 1, line.length(), fp);
}
pclose(fp);
}
troubleshooting/wrapper_cpp.1510385825.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
