X-Git-Url: https://git.ucc.asn.au/?p=uccvend-vendserver.git;a=blobdiff_plain;f=sql-edition%2Fsyslog%2Fpg_syslog.c;fp=sql-edition%2Fsyslog%2Fpg_syslog.c;h=1dbdc851e5ebd8d04b857648f4c104fc2f666cd1;hp=0000000000000000000000000000000000000000;hb=b2dec34c53f25194708de8ec3caf771a29d51833;hpb=6e99ab47bc4c632a1f43ad5e22e0fd27ce27677d diff --git a/sql-edition/syslog/pg_syslog.c b/sql-edition/syslog/pg_syslog.c new file mode 100644 index 0000000..1dbdc85 --- /dev/null +++ b/sql-edition/syslog/pg_syslog.c @@ -0,0 +1,28 @@ +#include +#include +#include +#include +#include + +PG_FUNCTION_INFO_V1(logmsg); +Datum logmsg(PG_FUNCTION_ARGS) { + text* arg0; + char* msg; + int len; + + arg0 = PG_GETARG_TEXT_P(0); + len = arg0->vl_len - VARHDRSZ; + + msg = (char*) palloc(len+1); + memcpy(msg, arg0->vl_dat, len); + msg[len] = '\0'; + + openlog("postgres", LOG_PID, LOG_LOCAL6); + syslog(LOG_INFO, "[%s]: %s", GetUserNameFromId(GetUserId()), msg); + closelog(); + + pfree(msg); + + /* not reached */ + PG_RETURN_VOID(); +}