/* $Header$
*
* Log and send a zephyrgram about any critical errors.
+ *
+ * (c) Copyright 1988 by the Massachusetts Institute of Technology.
+ * For copying and distribution information, please see the file
+ * <mit-copyright.h>.
*/
+/* At Athena, we use zephyr & not syslog. Change the following line
+ * if necessary */
+#define ZEPHYR
+
+
+#include <mit-copyright.h>
#include <stdio.h>
#include <sys/file.h>
+#ifdef ZEPHYR
#include <zephyr/zephyr.h>
+#endif
+#ifdef SYSLOG
+#include <syslog.h>
+#endif
+#include <sms_app.h>
-/* log file for critical events that require human intervention */
-#define CRITERRLOG "/u1/sms/critical.log"
-
/* mode to create the file with */
#define LOGFILEMODE 0644
+extern char *whoami;
+
void critical_alert(instance, msg, args)
char *instance; /* Instance for zephyr gram */
char *inst;
char *msg;
{
+#ifdef ZEPHYR
ZNotice_t znotice;
bzero (&znotice, sizeof (znotice));
znotice.z_opcode = "";
znotice.z_recipient = "";
ZSendNotice(&znotice, ZNOAUTH);
+#endif
+#ifdef SYSLOG
+ {
+ char buf[512];
+ sprintf(buf, "SMS: %s %s", inst, msg);
+ syslog(LOG_ERR, buf);
+ }
+#endif
}